iOS应用程序之控制器管理
- 控制器以及view的多种创建方式
- UINavigationController的简单使用:添加\移除子控制器
- UINavigationBar内容的设置
- 控制器的生命周期方法
一、控制器以及view的多种创建方式
1??控制器的创建方式
-直接创建
ViewController *test = [[ViewController alloc] init];
-指定xib文件来创建
ViewController *test = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
-通过storyboard创建
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil];
ViewController *test = [storyboard instantiateInitialViewController];
ViewController *mj = [storyboard instantiateViewControllerWithIdentifier:@”test"];
2??View加载的方式(MJ老师的一个图就明白了)
二、UINavigationController的简单使用:添加\移除子控制器
三、UINavigationBar内容的设置
@property(nonatomic,copy) NSArray *viewControllers; @property(nonatomic,readonly) NSArray *childViewControllers;
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
改变内容
//UINavigationItem有以下属性影响着导航栏的内容 //左上角的返回按钮 @property(nonatomic,retain) UIBarButtonItem *backBarButtonItem; //中间的标题视图 @property(nonatomic,retain) UIView *titleView; //中间的标题文字 @property(nonatomic,copy) NSString *title; //左上角的视图 @property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem; //UIBarButtonItem *rightBarButtonItem 右上角的视图 @property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;
四、ViewController的生命周期
tep1:initWithNib viewController 会进行alloc,并init.
step2: loadView 在这里会看它的子类是否有重写这个函数,如果重写了则调用子类的,否则就调用她自己的。注意,这个时候视图还是没有没加载进来的哦。
step3:viewDidLoad 这个时候视图已经存在了。可以在这里添加你想要添加的UI控件了。
step4:viewWillAppear 视图将出现在屏幕上了
step5:viewDidAppear 视图已经成功在屏幕上渲染完成了
step6:viewWillDisappear 视图将要消失了
step7:viewDidDisappear 视图从屏幕上消失了
step8:viewDidUnLoad 当发生内存警告的时候,如果本视图不是当前正在显示的视图,则会执行这个函数。将子视图释放。
step9:dealloc 释放viewController
而view的生命周期则是step3_step8.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。