由于本人也是初学ios开发,下面分享一下本人在自学中关于视图控制器(UIViewController)的多种创建方法的总结(详解)。
控制器的创建方式
注意: 以下代码都是在(Xcode 6.4 ios 8.4) AppDelegate.m文件的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions这个方法中
1.1 通过storyboard创建
* 创建project
* 删除原有的控制器及其storyboard
* 创建自定义的storyboard
* 设置storyboard的属性
* 新建一个控制器的类
* 关联自定义控制器和自定义storyboard
* 设置自定义的storyboard为第一控制器
* AppDelegate.m文件的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法中 添加如下代码
// 1.通过storyboard添加控制器
UIStoryboard *myStoryboard = [UIStoryboardstoryboardWithName:@"my"bundle:nil];
// 2. 设置控制器获取storyboard的第一个控制器(箭头所指的控制器)
// 注意设置→ 控制器的属性 is Initial View Controller
MyViewController *myViewController = [myStoryboardinstantiateInitialViewController];
// 3. 设置UIWindow的rootViewController为myViewController
self.window.rootViewController = myViewController;
然后运行(command + R)
如果出现崩溃 且出现如下所示
则设置 main interface 为我们的自定义控制器 就可以正常运行了
正常运行结果图如下
1.2 通过xib创建控制器
* 创建一个新的xib文件(还是同一个项目, 但是切记刚才上面的代码要注释)
* 创建一个xib的类 (最好和xib文件去掉.xib同名)
* 给xib 拖拉一个UIView控件并设置属性
* 关联xib 和 我们自定义的MyView 类
* 连好以后效果如下 (选中右击可查看)
//通过xib创建控制器
* AppDelegate.m文件的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法中 添加如下代码
// 1.加载xib
MyView *one = [[MyView alloc]initWithNibName:@"MyView"bundle:nil];
// 2.设置window的rootViewController为one
self.window.rootViewController = one;
然后运行(command + R)运行效果如下
1.3 通过纯代码创建控制器
// AppDelegate.m文件的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法中 直接注释掉刚才的代码 然后写入如下代码
// 1.创建一个控制器
UIViewController *controller = [[UIViewControlleralloc] init];
// 设置控制器的背景颜色为红色
controller.view.backgroundColor = [UIColorredColor];
// 2.设置window的rootViewController为controller
self.window.rootViewController = controller;
如果还有上面不清楚的可以直接下载源代码
链接: http://pan.baidu.com/s/1jGrOyuq 密码: 3whj