说明:
Application Kit
中包含Cocoa
中关于用户界面的大量资源。
注意:学习这一章节时,Xcode
的最新版本是7.2
,部分知识已经过时。比如目前storyboard
已经基本取代了xib
。
15.1 构建项目
说明:下面是通过
Xcode
构建Cocoa
应用程序项目的步骤。
- File->New->New Project(Create a New Xcode Project)
- 左边列表
Mac OS X
下的Application
选项->Cocoa Application
->Next- 项目信息
Product Name
:应用名称Company Identifier
:企业标识符,用来区分应用程序Class Prefix
:伪命名空间,避免文件名冲突
- 复选框
Create Document-Based Application
Use Core Data
Include Unit Test
Use Automatic Reference Counting
15.2 创建委托文件@interface
部分
Interface Builder
:简称IB
,用可视化的方式为OS X
和iOS
布局窗口内容,构建用户界面。IBOutlet
和IBAction
:这两个关键字会经常出现在代码中,用于
- 为
Interface Builder
提供标记- 帮助阅读代码
15.3 Interface Builder
说明:通过
.xib
文件就可以打开IB
的可视化编辑器。
- nib文件:编译时,
.xib
(XML
格式)文件会被编译为nib(NeXT Interface Builder)
文件,它是包含了压缩对象的二进制文件,- 对象库:包含了大量可以拖入窗口的不同类型的对象。
15.4 设计用户界面
说明:对用户界面进行布局
- 拖入一个
Text Filed
- 拖入一个
Label
- 拖入一个
push button
15.5 创建连接
说明:将
代码
与刚创建的用户界面元素
相连接。
15.5.1 连接输出口(IBOutlet)
说明:通过拖动自动生成界面元素对应的代码。以其中的
Text Field
为例子
- 打开辅助编辑器
- 按住
Control
键将光标从文本框
拖动到头文件
中@property
那一行的下面- 出现
Insert Outlet orAction
提示消息时松开鼠标- 在弹出的对话框中输入
textField
,点击Connect
15.5.2 连接操作(IBAction)
说明:将按钮连接到操作,这样按下按钮就会触发代码。以
UpperCae
按钮为例
- 按住
Control
键和UpperCase
按钮- 拖动一条直线到
头文件
的最后一行@property
语句下- 弹出连接对话框,选择
Action
类型- 在Name文本框中输入
uppercase
,并点击Connect
(自动在头文件中创建方法的声明,并在实现文件中创建方法的实现)
15.6 应用程序委托的实现
说明:
IBOutlet
的工作方式
- 应用程序启动时,
MainMenu.nib
被自动加载,界面对象被创建- 分配并初始化
MSCApplelegate
实例(IBOutlet
的实例变量)- 建立连接:将
NSTextField
等对象的地址添加到MSCAppDelegate
实例变量中,然后像每个每个界面对象
发送awakeFromNib
消息。
MSCAppDelegate.h
1 |
|
MSCAppDelegate.m
1 |
|