视图控制器ViewControllers.PDFVIP

  • 5
  • 0
  • 约1.93万字
  • 约 74页
  • 2017-11-21 发布于天津
  • 举报
视图控制器ViewControllers

视图控制器(View Controllers ) 范圣刚,princetoad@, Quiz 和 QuizViewController 回顾 • 在第⼀个 session 的 Quiz 应⽤程序中,我们把所 有的代码都写在 QuizViewController 类中。这个类 的⼀个实例是 Quiz 应⽤的控制器 • 它有指向屏幕上的 labels 的指针,指向按钮的指 针,这些按钮被按下时会给它发送消息。还有指 向组成应⽤数据的模型对象的指针 • 对于界⾯只有⼀屏的 Quiz 应⽤,只有⼀个 controller 对象就⾜够了 • ⼤多数应⽤具有不⽌⼀个屏幕的界⾯,⽽且有⾮ 常多的对象需要进⾏管理,设计 iOS 应⽤时最好 针对每⼀屏都有⼀个 controller UIViewController • ⼀个 UIViewController 实例专注在控制应⽤程序内的 ⼀个单独的屏幕 • 每个 UIViewController 具有⼀个指向 UIView 或者 UIView ⼦类的实例的view 属性,这个 view 就是它 的 screen • 通常情况下,这个 view 是⼀个全屏视图。⽽且更多 的时候,这个 view 也具有 subviews 。这样⼀个 view controller 控制的就是⼀个view hierarchy • 因为这个 view 属性是整个 hierarchy 的 root ,当 view controller 的 view 被作为⼀个subview 添加到 window 时,整个 view hierarchy 就被添加了 创建 HypoTime 从 Empty Application 模版创建⼀个新 的 iOS 项⺫,命名为 HypnoTime 。 按右边的图进⾏配置: 两个 UIViewController 的⼦类 • 这个应⽤我们将创建两个 UIViewController 的⼦类 •HypnosisViewController • TimeViewController • 每个 view controller 将会控制⼀个 view ,⽤户将 能够在这些 views 之间切换,取决于他们是否想 被催眠或者只是想知道现在是⼏点 •view 之间的切换将会由另外⼀个类 UITabBarController 来处理 ⼦类化 UIViewController • 我们不会直接创建 UIViewController 的实 例,⽽是创建 UIViewController 的⼦ 类来实例化 • ⽣成 HypnosisViewControlle r (File - New File - iOS - Cocoa Touch - Objective-C class) HypnosisViewController •view controller 负责创建它的 view hierarchy • HypnosisViewController 的 view hierarchy 将仅由 ⼀个 view 组成。就是我们前⾯创建的 UIView 的 ⼦类 HypnosisView • 在 Finder ⾥定位到 HypnosisView.h 和 HypnosisView.m ⽂件,把他们拖到 HypnoTime 项 ⺫导航器中 • 在出现的窗⼝中,勾选“Copy items into destination group’s folder” • 同时勾选把它们添加到 target - “HypnoTime” 添加 HypnosisView 到 HypnoTime loadView • UIViewController ⼦类通过重写 loadView ⽅法来创 建它的 view hierarchy • 这个⽅法创建⼀个 view 的实例,并且把它设成 view controller 的view • 在 HypnosisViewController.m 中重写 loadView ,确 保在⽂件顶部导⼊了 HypnosisView 的头⽂件 // 重写 loadView - (void)loadView { // 创建

文档评论(0)

1亿VIP精品文档

相关文档