本文教年夜家經由過程storyboard創立掌握器,願望對年夜家的進修有所贊助。
1.怎樣本身經由過程storyboard創立掌握器,之前都是體系加載storyboard,幫我們創立好掌握器。
經由過程UIStoryboard這個對象,就可以加載storyboard文件 留意:必需要有storyboard,創立UIStoryboard對象才成心義,alloc init創立UIStoryboard對象沒成心義
1.1> instantiateInitialViewController:默許加載箭頭指向的掌握器
1.2> instantiateViewControllerWithIdentifier:依據標識在storyboard查找 掌握器,而且創立。(標識不克不及亂傳,會報錯,必需storyboard有這個標識才行。)
1.3> 如今創立的掌握器都不克不及處置事宜,假如須要處置事宜,須要自界說掌握器。
如今創立的掌握器為何不克不及處置事宜?
緣由:當經由過程storyboardID找到storyboard中的掌握器的時刻,就會創立storyboard中描寫的掌握器對象,創立對象起首得曉得類名, 會依據storyboard中的Custom Class肯定類名,然後創立對象,默許都是體系自帶的掌握器對象,體系自帶的是不克不及處置事宜的。他不克不及寫監聽辦法。
所以,要想處置掌握器事宜,必需自界說掌握器。
2.模擬體系怎樣經由過程main.storyboard加載法式的。(帶storyboard的項目)
2.1> 帶有storyboard的法式,默許法式一啟動,就會加載storyboard,主動 創立好窗口和根掌握器。
2.2> 體系怎樣斷定需不需加載storyboard?重要看有無設置主界面,假如 設置了Main,就會去加載Main.storyboard.
2.3> 在新增一個storyboard文件,怎樣加載新增的storyboard,修正主界面。
2.4> 模擬法式一啟動就加載Main.storyboard文件,創立窗口,創立箭頭指向的窗口根掌握器,而且顯示窗口。(先清空主界面設置,須要刪除緩存)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //創立窗口(窗口不克不及被釋放,不然不克不及顯示) self.Window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]; //加載storyboard,nil標識[NSBundle mainBundle] UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; //加載箭頭指向的掌握器 UIViewController *vc = [storyboard instantiateInitialViewController]; //讓掌握器成為窗口的根掌握器 self.window.rootViewController = vc; //顯示窗口 [self.window makeKeyAndVisible]; return YES; }
3. 經由過程xib創立掌握器的view(空項目) (起首得要有xib)
3.1 xib留意點:
1> xib外面必需有一個view描寫掌握器的view,由於掌握器的view屬性必需有值。
2> xib須要指定描寫哪個掌握器,描寫UIView不須要,由於xib裡 面可以描寫許多UIView,不克不及固定逝世,然則掌握器就紛歧樣了,一個只用來描寫一個掌握器。
3> xib外面能夠有許多view,須要拖線指明哪一個是掌握器的view
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. // 創立窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 經由過程xib創立掌握器 ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; self.window.rootViewController = vc; [self.window makeKeyAndVisible]; return YES; }
3.2 xib和storyboard的差別storyboard曾經指定了掌握器的view,不須要我們管,xib須要我們手動治理。
以上就是本文的全體內容,願望可以或許贊助年夜家輕松創立IOS掌握器有所贊助。
【iOS經由過程多種方法創立掌握器】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!