NSWindowDelegate:windowDidBecomeKey vs windowDidBecomeMain

时间:2012-12-04 07:13:34

标签: objective-c macos nswindow nsnotifications

windowDidBecomeKey: windowDidBecomeMain:通知有什么区别?

换句话说,我想知道“什么是关键窗口”和“什么是主窗口”。

1 个答案:

答案 0 :(得分:4)

来自official documentation

  

Windows根据用户的交互方式有不同的外观   他们。最重要的文档或应用程序窗口   用户的注意力被称为主窗口。每   应用程序在给定时间也只有一个主窗口。这个主要   窗口通常也具有关键状态。主窗口是校长   应用程序的用户操作焦点。通常,用户操作   模态键窗口(通常是一个面板,如字体窗口或信息   窗口)对主窗口有直接影响。

作为示例(始终来自文档)

  

密钥窗口和主窗口之间差异的一个很好的例子可以是   在大多数表现良好的Mac应用中都可以看到。在文本中选择“另存为...”   例如,document显示一个带有字段的面板来键入   文档的名称和保存位置的下拉菜单。该   面板代表关键窗口。它将接受您的键盘输入   (文件名),但会直接影响它下面的主窗口(通过   将其保存到您指定的位置)。保存文档后,   保存面板消失,主窗口再次变为按键,并且将会   再次接受键盘输入。