新聞中心
iOS界面之間的跳轉(zhuǎn)方式
iOS界面之間的跳轉(zhuǎn)方式基本有3種。?
專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計制作、網(wǎng)站制作、電子商務(wù)商城網(wǎng)站建設(shè)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)公司的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
1、改變window的根視圖
[self.window setRootViewController:VC];
2、模態(tài)彈出
[self presentViewController:nextVC? animated:YES completion:nil];//從當前界面到nextVC
[self dismissViewControllerAnimated:YES completion:nil];//從nextVC界面回去
3 用 UINavigationController push 進來和pop回去
[self.navigationController pushViewController:nextVC animated:YES];//從當前界面到nextVC這個界面
[self.navigationController popViewControllerAnimated:YES];//nextVC這個界面回到上一界面[self.navigationController popToRootViewControllerAnimated:YES];//回到根視圖界面
//self.navigationController.viewControllers 是一個數(shù)組里面存放所有之前push過來的界面,如果想要跳回到指定界面 只需要根據(jù)索引值取出響應(yīng)的界面pop回去
MainViewController *MainVC =self.navigationController.viewControllers[1];? ? [self.navigationController popToViewController:MainVC animated:YES];
iOS實戰(zhàn)之頁面跳轉(zhuǎn)
假如有多級頁面Root-A-B-C的跳轉(zhuǎn),現(xiàn)需要從C返回到A,做法有如下:
有人可能會說,直接pop兩下就好了,like this:
?錯誤姿勢?:
可以試一試,要是能達到效果算我輸!!!
pop到B以后self.navigationController=nil,可以想想是為什么?(頁面pop出去了,導(dǎo)航欄當然也跟著出去了,所以下面這個pop根本不起作用)
?正確姿勢一:
由上面錯誤姿勢得到啟發(fā),第二個pop不是不起作用嗎,那就讓B頁面去做pop,通知,代理,block都行
總結(jié):雖然能實現(xiàn),但是很麻煩,還需要寫清動畫YES還是NO,不然pop幾個都有動畫的頁面會很突兀。
?正確姿勢二:
利用導(dǎo)航棧的特性,去除導(dǎo)航棧上面的頁面
?正確姿勢三:
與第二個類似,但是是從導(dǎo)航棧獲取vc
個人推薦使用第三種方法,第二種方法直接去除導(dǎo)航棧上面的頁面,怕出現(xiàn)問題,而第三種方式是拿頁面(讀比寫操作安全)。
IOS 頁面跳轉(zhuǎn)方法總結(jié)
嘗試列出所有的頁面跳轉(zhuǎn)方法,有疏漏的歡迎補充。
1.UINavigationController - push pop (常用)
2.UITabBarController
微信的頁面就是一個UITabBarController 和 NavigationController 合用的例子
3.(Modal)UIViewController - presentView
4.addChildViewController
期待補充
當前名稱:ios開發(fā)頁面跳轉(zhuǎn),ios 推送跳轉(zhuǎn)到指定頁面
瀏覽地址:http://www.ef60e0e.cn/article/dscciod.html