macOS开发教程(一)

窗口对象

可以接收输入事件(键盘、鼠标、触控板等外设)的窗口对象称为keyWindow(keyboard window);当前的活动窗口也称为mainWindow。一个时刻只能有一个keyWindow和一个mainWindow。keyWindow和mainWindow可以是同一个窗口,也可以是不同的窗口。当mainWindow可以接收输入事件时,它同时也是keyWindow。

面板是一种特殊的window,执行一些辅助功能。常用来做一些警告确认框,用户输入信息等对话框。

NSPanel类型的window不能作为mainWindow,只能作为keyWindow。

一些常用的子类有:

NSColorPanel 颜色选择

NSFontPanel 字体选择

NSSavePanel 保存打开文件

这些子类化的window都只能作为keyWindow,它们将在面板和警告框章节做使用说明。

窗口界面组成

窗口对象包括titleBar, contentView内容视图,contentBorder底部边框区。titleBar上面包括控制按钮、标题。

模态窗口

限制用户必须处理完当前的窗口的任务,完成后才能将其关闭,这种窗口成为模态窗口。

有2种创建方法:

  1. Modal window

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

使用NSApplication的runModalForWindow方法来创建:

1
2
3
- (IBAction)showModelWindowAction: (id)sender {
[[NSApplication sharedApplcation]runModalForWindow:self.myWindow];
}
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.