Controller的三种创建方式

一、通过storyboard创建控制器    Test.storyboard  前名是文件名,后面的storyboard是文件的扩展名
// 1.  应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
//  如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication  *)application didFinishLaunchingWithOptions:( NSDictionary  *)launchOptions
{
    
//  实例化 UIWindow ,特殊的 UIView
    
self . window  = [[ UIWindow   alloc initWithFrame :[ UIScreen   mainScreen ]. bounds ];
    
//  设置窗口的背景颜色
    
self . window . backgroundColor  = [ UIColor   whiteColor ];

1、 先加载 storyboard 文件( Test storyboard 的文件名)注意点在storyboard 里面Class 要指向要创建的控件器类名
UIStoryboard *storyboard = [ UIStoryboard   storyboardWithName : @"Test" bundle : nil ] //bundle 传nil 默认就是main bundle

2、 接着初始化 storyboard 中的控制器
方法1 初始化“初始控制器”(storyboard中箭头所指的控制器)<通过加载storyboard文件来创建控制器的视图> 即视图控制器
MJViewController * mj = [ storyboard instantiateInitialViewController ];

方法2 通过一个标识初始化对应的控制器
MJViewController * mj = [ storyboard instantiateViewControllerWithIdentifier : @”pink ];

 添加标识符
//把视图控件器添加到window窗口的根视图上
    
self . window . rootViewController  = ; mj  
    
    
//  让窗口变成主窗口并且可见
    [
self . window   makeKeyAndVisible ];
    
    
return   YES ;
}


二、通过纯代码创建 控制器  
// 1. 应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
// 如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
   
// 实例化 UIWindow ,特殊的 UIView
   
self . window = [[ UIWindow alloc ] initWithFrame :[ UIScreen mainScreen ]. bounds ];
   
// 设置窗口的背景颜色
   
self . window . backgroundColor = [ UIColor whiteColor ];
   
   
// 实例化视图控制器
   
CZViewController *mj = [[ CZViewController alloc ] init ];
   
   
// 将视图控制器的视图添加到窗口,这句话,已经不用了
//    [self.window addSubview:vc.view];
//把视图控件器添加到window窗口的根视图上
   
self . window . rootViewController = mj;
   
   
// 让窗口变成主窗口并且可见
    [
self . window makeKeyAndVisible ];
   
   
return YES ;
}


二、指定xib文件来创建控制器  
// 1.  应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
//  如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication  *)application didFinishLaunchingWithOptions:( NSDictionary  *)launchOptions
{
    
//  实例化 UIWindow ,特殊的 UIView
    
self . window  = [[ UIWindow   alloc initWithFrame :[ UIScreen   mainScreen ]. bounds ];
    
//  设置窗口的背景颜色
    
self . window . backgroundColor  = [ UIColor   whiteColor ];
   // 
加载指定的xib文件
 
   MJThreeViewController * mj = [ [ MJThreeViewController alloc ]   initWithNibName : @"MJView" bundle : nil ] ;
    
//把视图控件器添加到window窗口的根视图上
    
self . window . rootViewController  = mj;
    
    
//  让窗口变成主窗口并且可见
    [
self . window   makeKeyAndVisible ];
    
    
return   YES ;
用xib创建时的注意点

}
用那个view  把那个view连线设为主文件

你可能感兴趣的:(Controller的三种创建方式)