第5章创建了一个视图层次结构(一个UIScrollView和它的两个子视图)并将其添加到屏幕上。第5章使用的方式是将UIScrollView作为子视图添加到应用窗口中,但是更常见的做法是使用视图控制器。
视图控制器是UIViewController类或其子类的对象。每个视图控制器都负责管理一个视图层次结构,包括创建视图层次结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口。
本章将创建一个名为HypnoNerd的应用。在HypnoNerd中,用户可在两个视图层次结构之间自由切换——第一个视图层次结构用于催眠自己,第二个用于设置催眠提醒时间(见图6-1)。
图6-1 HypnoNerd的两个视图层次结构
为了实现切换功能,需要为HypnoNerd应用创建两个UIViewController子类:BNRHypnosisViewController和BNRReminderViewController,并使用一个名为UITabBarController的类在这两个视图控制器之间切换。
使用Empty Application模板创建新项目,并将项目命名为HypnoNerd,然后根据图6-2填写设置选项。
图6-2 创建新项目
HypnoNerd应用需要使用BNRHypnosisView(编写Hypnosister时创建的UIView子类),在Finder中找到Hypnosister的项目目录,并将目录中的BNRHypnosisView.h和BNRHypnosisView.m拖曳至HypnoNerd的项目导航面板。
在Xcode弹出的下拉窗口中选中Copy items into destination group's folder(if needed)(拷贝文件或目录至目标组的目录(如果需要)),单击Finish按钮(见图6-3)。
图6-3 将文件拷贝到HypnoNerd项目
Xcode会先拷贝BNRHypnosisView.h和BNRHypnosisView.m,然后将拷贝后得到的两个文件保存在HypnoNerd的项目目录下,最后将这两个文件加入HypnoNerd项目。