日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

(九十)使用多个storyboard+代码实现控制器的分开管理

發布時間:2025/3/15 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (九十)使用多个storyboard+代码实现控制器的分开管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用單個storyboard會使得項目難與管理,使用純代碼又會過于麻煩,因此如果能將二者結合起來,并且使用多個storyboard,會使得項目簡單簡單、方便許多。

下面以一個簡單的視圖關系為例,介紹多個storyboard的用法。

①有page1和page2兩個頁面,點擊page1的Detail按鈕會彈出page1Detail視圖,點擊page1Detail的返回按鈕又會返回。

②page1和page2通過tabbar切換。

我們創建page1、page2、page1Detail三個storyboard,每個有自己的控制器,注意設置每個控制器為initial ViewController,否則在加載storyboard的控制器時會崩潰

【具體步驟】

①刪除工程設置中Main Interface的默認設置,因為要用tabbar連接兩個控制器,應當通過代碼實現。

②在AppDelegate中創建window,創建tabbar,把window的rootViewController設置為tabbar。

加載storyboard,從storyboard拿到默認控制器,然后設置tabbar的viewControllers為page1、page2,最后不要忘了調用window的makeKeyAndVisible方法。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];self.window.backgroundColor = [UIColor whiteColor];UITabBarController *tb = [[UITabBarController alloc] init];// 加載storyboardUIStoryboard *page1Sb = [UIStoryboard storyboardWithName:@"page1" bundle:nil];UIStoryboard *page2Sb = [UIStoryboard storyboardWithName:@"page2" bundle:nil];// 創建并添加到tabbartb.viewControllers = @[page1Sb.instantiateInitialViewController,page2Sb.instantiateInitialViewController];self.window.rootViewController = tb;[self.window makeKeyAndVisible];return YES; }

通過這樣設置,就可實現tabbar包著page1、page2兩個控制器。


③在page1中點擊Detail按鈕時modal一個detail控制器,同樣是通過加載storyboard、獲取默認控制器、調用presentViewController:::方法modal這個控制器。

- (IBAction)detailClick:(id)sender {// 加載storyboardUIStoryboard *detailSb = [UIStoryboard storyboardWithName:@"page1Detail" bundle:nil];// 創建控制器UIViewController *vc = detailSb.instantiateInitialViewController;[self presentViewController:vc animated:YES completion:nil];}
④modal的控制器的返回通過dismiss實現。

- (IBAction)backClick:(id)sender {[self dismissViewControllerAnimated:YES completion:nil];}

轉載于:https://www.cnblogs.com/aiwz/p/6154106.html

總結

以上是生活随笔為你收集整理的(九十)使用多个storyboard+代码实现控制器的分开管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。