视图生命周期
作为应用程序的委托对象,AppDelegate类在应用程序生命周期的不同阶段会回调不同的方法 此类本身没有任何功能代码,他的作用就是实现了UIApplication和IOS操作系统之间的协议,该协议的方法就对应UIApplication在操作系统中的各种状态。
IOS应用的五种状态:
NotRunning(非运行状态) :应用没有运行或者被系统终止的时候
inactive(前台非活跃状态 :应用进入状态,但是还不能接收事件处理
Active(前台活跃状态):应用进入前台状态,能接收事件处理
Background(后台状态) :应用进入后台状态,依然能够执行代码,如果有可以执行的代码,就会执行代码,如果没有可执行代码或者当前代码执行完毕,应用就会进入挂机状态
Susended(挂起状态) :应用进入一种“冷冻”状态,不能执行代码,如果系统的内存不足,应用会被终止
视图设置
//应用启动并进行初始化的时候 ,会调用该方法并发出通知。在这个阶段会初始化根视图控制器
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"应用启动并进行初始化");
//不使用默认窗口
self.window=[[UIWindow alloc]init];
self.window.frame=[UIScreen mainScreen].bounds;
self.window.backgroundColor=[UIColor greenColor];
//是当前的窗口作为主窗口,并且在屏幕最前端
[self.window makeKeyAndVisible];
//给到一个用来显示的根视图控制器
self.window.rootViewController=[[ViewController alloc]init];
//切换根视图
self.window.rootViewController=[[AvControllerViewController alloc]init];
//用XIB文件创建根视图
BViewController *bvc=[[BViewController alloc]initWithNibName:@"BViewController" bundle:[NSBundle mainBundle]];
self.window.rootViewController=bvc;
return YES;
从故事板中取出需要的视图作为根视图:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window=[[UIWindow alloc]init];
self.window.frame=[UIScreen mainScreen].bounds;
[self.window makeKeyAndVisible];
UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
//从故事板中取出需要的视图
ViewController *vc=[storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
self.window.rootViewController=vc;
return YES;
}