CocoaTouch框架与构建应用界面
苹果应用程序的界面几乎都是由Cocoa和Cocoa Touch框架中的类和协议等元素构建的,这些元素通过MVC(Model-View-Controller)模式有效地组织起来。
macOS应用的界面主要使用Cocoa框架开发,Cocoa是一种为应用程序提供丰富用户体验的框架,其核心是:Foundation和UIKit(AppKit)框架。**iOS应用界面主要使用Cocoa Touch框架开发,核心是Foundation和UIKit框架。**Cocoa Touch框架有一套自己的MVC模式,其中视图和控制器是UIKit中的UIView(及其子类)和UIViewController(及其子类)。
1.视图控制器
1.1 种类
- UIViewController——用于自定义视图控制器的导航。
- UINavigationController——导航控制器,与UITableViewController结合使用,能够构建树形导航模式。
- UITabBarController——标签栏控制器,用于构建树形标签导航模式。
- UIPageViewController——呈现电子书导航风格的控制器。
- UISplitViewController——可以把屏幕分割成几块的视图控制器,主要为iPad屏幕设计。
- UIPopoverController——呈现“气泡”风格视图的控制器,主要为iPad屏幕设计。
1.2 生命周期
2.视图
在Cocoa Touch框架中,提供了视图的“根”类——UIView
2.1 UIView继承层次结构
- 特殊的视图:UIControll类——该类是控件类,其子类有UIButton、UITextField、和UISlider .之所以称他们为"控件类",是因为他们都有能力响应一些高级事件.
2.2视图分类
- 控件:继承自UIControll类,能够响应一些高级事件.
- 窗口:它是UIWindow对象.一个iOS应用只有一个UIWindow对象.它是所有子视图的"根"容器.
- 容器视图:包括了UIScrollView,UIToolBar以及它们的子类.
- 显示视图:用于显示信息,包括UIImageView,UILabel,UIProgressView和UIActivityIndicatorView等.
- 文本和Web视图:提供了能够显示多行文本的视图,包括UITextView和UIWebView,其中UITextView也属于容器视图,UIWebView是能够加载和显示HTML代码的视图.
- 导航视图:为用户提供从一个屏幕到另外一个屏幕的导航(或者跳转)视图,它包括UITabBar和UINavigationBar.
- 警告框和操作表:用于给用户提供一种反馈或者与用户进行交互.
3.纯代码构建页面❗(网络转载)
纯代码的条件
删除Main Interface
中的Main
,同时需要删除info.plist中的如下代码
<key>UISceneStoryboardFile</key>
<string>Main