一、第一种创建方式(使用代码直接创建)
- 1.创建一个空的IOS项目
- 2.为项目添加一个控制器类
- 3.直接在代理方法中创建一个控制器
#import "AppDelegate.h" #import "HQViewController.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.backgroundColor = [UIColor whiteColor]; //创建控制器 HQViewController *vc = [[HQViewController alloc]init]; //设置控制器View的背景颜色 vc.view.backgroundColor = [UIColor redColor]; //设置该控制器为Window的根控制器 self.window.rootViewController = vc; [self.window makeKeyAndVisible]; return YES; }
二、第二种创建方式(通过storyboard创建)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 创建窗口的跟控制器 // 加载storyboard // storyboard文件名,不需要带后缀 // nil: [NSBundle mainBundle] UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; // 通过storyboard创建控制器 // instantiateInitialViewController:加载箭头指向的控制器 UIViewController *vc = [storyboard instantiateInitialViewController]; //如果storyboard中有多个控制器,可根据标识来创建控制器(要在storyboard中设置唯一标识) UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"hq"]; self.window.rootViewController = vc; // 显示窗口 [self.window makeKeyAndVisible]; return YES; }
三、第三种创建方式(使用xib创建)
- 新建一个xib文件,命名为one.xib
- 创建过程和注意点
- 创建代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.backgroundColor = [UIColor whiteColor]; //1.通过xib创建控制器 HQViewController *vc = [[HQViewController alloc]initWithNibName:@"one" bundle:nil]; //2.设置这个控制器为Window的根控制器 self.window.rootViewController = vc; [self.window makeKeyAndVisible]; return YES; }
- 两个错误注意点
- 不能加载
- 在xib文件中没有进行任何操作
- 解决方法:往xib中拖一个view
- 加载了xib,但是没有设置输出口
- 产生原因:没有把xib的view设置为HQviewController的view
- 解决方法:设置File‘s Owner,可以理解为设置这个文件归谁所有,对File‘s Owner和view进行连线。连线是因为一个xib中可能会有多个view,在storyboard中默认就已经进行了连线。
- 不能加载
- 创建代码
时间: 2024-10-28 06:15:32