视图控制器是 UIViewController 类或其子类对象。每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口。 创建一个程序,并将上节 JXHypnosisView 类 ...
视图控制器是 UIViewController 类或其子类对象。每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口。
创建一个程序,并将上节 JXHypnosisView 类导入到工程中。
打开工程,创建一个 UIViewController 子类文件,并将其命名为 JXHypnosisViewController
- UIViewController 的 view 属性
JXHypnosisViewController 控制器从父类集成下来一个重要属性: @property (nonatomic,strong) UIView * view; . view 属性指向一个 UIView 对象。那么这个view就是这个视图层次结构的根视图,当程序将 view 作为子视图加入窗口时,也会加入 UIViewController 对象所管理的整个视图层次结构;
视图控制器不会再起被创建出来的那一刻马上创建并载入相应的视图。只有当应用需要将某个视图控制器的视图显示到屏幕上时,相应的视图控制器才会创建其视图。这种延迟加载视图的做法能提高内存的使用效率。
视图控制器可以通过两种方式创建视图层次结构。
1. 代码方式:覆盖 UIViewController 的 loadView 方法。
2. NIB 方式:使用 Interface Builder 创建一个 NIB 文件,然后加入所需的视图层次结构,最后视图控制器会在运行时加载由该 NIB 文件 文件编译而成的 XIB 文件。
通过代码方法创建视图
在 JXHypnosisViewController.m 顶部导入头文件 JXHypnosisView.h ,然后覆盖 loadView 方法,创建一个大小与屏幕相同的 JXHypnosisView 对象,并将其赋给视图控制器的 view 属性:
#import "JXHypnosisViewController.h"#import "JXHypnosisView.h"@interface JXHypnosisViewController ()@end@implementation JXHypnosisViewController- (void)viewDidLoad { [super viewDidLoad]; }- (void)loadView { // 创建一个 JXHypnosisView 对象 JXHypnosisView * backgroundView = [[JXHypnosisView alloc] init]; // 将 JXHypnosisView 对象赋给视图控制器的view 属性 self.view = backgroundView;}@end
原标题:iOS 视图控制器 (内容根据iOS编程编写)
关键词:IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。