1.

作者: mayday2024 | 来源:发表于2016-11-12 00:04 被阅读195次

    title bar 标题栏
    keyWindow 可以接收输入事件(键盘,鼠标,触控板等外设)的窗口
    mainWindow 活动窗口
    一个时刻只能有一个keyWindow和一个mainWindow。
    keyWindow和mainWindow可以是同一个窗口,也可以是不同的窗口。当mainWindow可以接收输入事件时,它同时也是keyWindow(如文本编辑器)。
    一些常用的子类有NSColorPanel(颜色选择),NSFontPanel(字体选择),NSSavePanel(保存打开文件)类型的window不能做为mainWindow,只能做为keyWindow。

    模态窗口
    有2种创建模态窗口的方法:

    1.Modal windows

    这种window比较霸道,当它启动后,此时只有这个window可以接收响应用户操作,无法切换到其他窗口操作,其他窗口也不能接收处理系统内部的各种事件。

    使用NSApplication的runModalForWindow方法来创建Modal window

    • (IBAction)showModelWindowAction:(id)sender {
      [[NSApplication sharedApplication]runModalForWindow:self.myWindow];
      }
      使用stopModal方法来结束模态。

    [NSApplication sharedApplication]stopModal];
    2.Modal sessions

    比起Modal windows,Modal sessions方式创建的window稍微温和一些,允许响应快捷键和系统菜单,比如字体颜色选择这些panel面板.

    启动Modal sessions 窗口

    NSModalSession sessionCode = [[NSApplication sharedApplication]beginModalSessionForWindow:window];
    结束Modal sessions 窗口

    使用sessionCode做为参数来关闭Modal sessions 窗口

    [[NSApplication sharedApplication]endModalSession:sessionCode];
    注意任何一种模态窗口,都必须调用结束模态的方法去结束模态。如果点击了window左上角的关闭按钮,而没有执行结束模态的方法。整个系统仍然处于模态,其他窗口无法正常工作。

    相关文章

      网友评论

          本文标题:1.

          本文链接:https://www.haomeiwen.com/subject/isofpttx.html