由於本人也是初學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