欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

總結(jié)IOS界面間跳轉(zhuǎn)的幾種方法

 更新時間:2016年08月04日 17:53:00   投稿:daisy  
前段時間被問到界面間的跳轉(zhuǎn)有幾種方式?想不到說的竟有點(diǎn)含糊其辭,于是就想總結(jié)一下。有句話說的好,“前人種樹,后人乘涼”,目前作為一個乘涼者,我也希望能種一些樹木,為代碼世界營造一份清新。好了,話不多說,進(jìn)入主題。

注意:

下面以FirstViewController(FVC)的按鈕button點(diǎn)擊后跳轉(zhuǎn)到SecondViewController(SVC)為例說明:

方式一:Storyboard的segues方式

鼠標(biāo)點(diǎn)擊按鈕button然后按住control鍵拖拽到SVC頁面,在彈出的segue頁面中選擇跳轉(zhuǎn)模式即可

優(yōu)點(diǎn):操作方便,無代碼生成,在storyboard中展示邏輯清晰

缺點(diǎn):頁面較多時不方便查看,團(tuán)隊(duì)合作時可維護(hù)性差, 多人合作時不建議使用這種方式。

方式二:選項(xiàng)卡UITabBarController控制器

通過調(diào)用UITabBarController的addChildViewController方法添加子控制器,代碼實(shí)例如下:

UITabBarController *tabbarVC = [[ UITabBarController alloc ] init ];
FirstViewController *FVC = [[FirstViewController ] init ];
FVC.tabBarItem.title = @"控制器1" ;
FVC.tabBarItem.image = [ UIImage imageNamed : @"first.png" ];
SecondViewController *SVC = [[SecondViewController ] init ];
SVC.tabBarItem.title = @"控制器2" ;
SVC. tabBarItem.image = [UIImage imageNamed : @"new.png" ];
// 添加子控制器(這些子控制器會自動添加到UITabBarController的 viewControllers 數(shù)組中)
[tabbarVC addChildViewController :FVC];
[tabbarVC addChildViewController :SVC];

優(yōu)點(diǎn):代碼量較少

缺點(diǎn):tabbar的ios原生樣式不太好看,(不常用,目前不建議使用),如果要使用,建議自定義tabbar

方式三:導(dǎo)航控制器UINavigationController

在FVC的button的監(jiān)聽方法中調(diào)用:

[self.navigationController pushViewController:newC animated:YES]; //跳轉(zhuǎn)到下一頁面

在SVC的方法中調(diào)用:

[self.navigationController popViewControllerAnimated:YES]; //返回上一頁面

當(dāng)有多次跳轉(zhuǎn)發(fā)生并希望返回根控制器時,調(diào)用:

[ self .navigationController popToRootViewControllerAnimated: YES ]; //返回根控制器,即最開始的頁面

方式四:利用 Modal 形式展示控制器

在FVC中調(diào)用:

[ self presentViewController:SVC animated: YES completion:nil];

在SVC中調(diào)用:

[ self dismissViewControllerAnimated: YES completion: nil ];

方式五:直接更改 UIWindow 的 rootViewController

總結(jié):

Storyboard方式適合個人開發(fā)小程序時使用,有團(tuán)隊(duì)合作或者項(xiàng)目較大時不建議使用

UITabBarController因?yàn)槟壳跋到y(tǒng)的原生樣式不太美觀,不建議使用

推薦使用UINavigationControllerModal,無明顯缺點(diǎn),而且目前大部分程序都使用這兩種方式,只是看是否需要導(dǎo)航控制器而確定使用哪種方案

好了,以上就是本文的全部內(nèi)容,希望對大家開發(fā)IOS時有所幫助。

相關(guān)文章

最新評論