标签:
三种创建方式:
1.通过代码创建(个人建议:虽然代码创建繁琐,但是还是觉得代码才是王道)
2.通过xib创建:
优点:能够用拖控件的方式来描述一个View里面的情况
缺点:和storyboard相比需要在File‘s Owner的Class属性中设置所属自定义控制器,并且要设置控制器所属View(连线)
3.通过storyboard创建
优点:能够用拖控件的方式来描述一个View里面的情况,如果设置了storyboard为Mainstoryboard的话,就可以免去代码创建Window等的步骤,系统 全会自动生成
1 // 代码创建方式 2 3 #import "LMPAppDelegate.h" 4 #import "LMPOneViewController.h" 5 6 @implementation LMPAppDelegate 7 8 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 9 { 10 // 创建窗口 11 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 12 // 设置窗口颜色为白色 13 self.window.backgroundColor = [UIColor whiteColor]; 14 // 设置窗口根控制器 15 self.window.rootViewController = [[LMPOneViewController alloc] init]; 16 17 // 显示窗口 18 [self.window makeKeyAndVisible]; 19 20 return YES; 21 }
1 // Storyboard创建方式 2 3 #import "LMPAppDelegate.h" 4 #import "LMPOneViewController.h" 5 6 @implementation LMPAppDelegate 7 8 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 9 { 10 // 创建窗口 11 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 12 // 设置窗口颜色为白色 13 self.window.backgroundColor = [UIColor whiteColor]; 14 15 // 加载Storyboard,@"One"为Storyboard文件名,nil默认为[NSBundle mainBundle] 16 UIStoryboard *one = [UIStoryboard storyboardWithName:@"One" bundle:nil]; 17 18 // 获得Storyboard的箭头所指的控制器 19 // UIViewController *vc = [one instantiateInitialViewController]; 20 21 // 获得Storyboard中标示符为@"Other"对应的控制器
注意:我所用的控制器是系统自带的控制器,最好还是自己定义一个控制器
22 UIViewController *vc = [one instantiateViewControllerWithIdentifier:@"Other"]; 23 24 // 设置窗口根控制器 25 self.window.rootViewController = vc; 26 27 // 显示窗口 28 [self.window makeKeyAndVisible]; 29 30 return YES; 31 }
1 // xib创建方式 2 3 #import "LMPAppDelegate.h" 4 #import "LMPOneViewController.h" 5 6 @implementation LMPAppDelegate 7 8 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 9 { 10 // 创建窗口 11 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 12 // 设置窗口颜色为白色 13 self.window.backgroundColor = [UIColor whiteColor]; 14 15 // 加载xib文件,注意xib文件中Class设置的什么类型的控制器返回的就是什么类型的控制器 16 // 主动加载一个xib文件 17 LMPOneViewController *vc = [[LMPOneViewController alloc] initWithNibName:@"Two" bundle:nil]; 18 19 /* 20 LMPOneViewController *vc = [[LMPOneViewController alloc] init]; 21 规则先后: 22 默认最先加载文件名为@“LMPOneView”的xib,没有就找名字为@“LMPOneViewController”的xib, 23 如果也没有系统会自动生成一个空白的View 24 25 注意:如果更改了没有效果是因为你没有重新卸载模拟器的软件,并且最好在xcode中clean一下 26 27 */ 28 29 // 设置窗口根控制器 30 self.window.rootViewController = vc; 31 32 // 显示窗口 33 [self.window makeKeyAndVisible]; 34 35 return YES; 36 }
标签:
原文地址:http://www.cnblogs.com/pocket-mood/p/4420775.html