在IOS開發(fā)中革砸,經(jīng)常遇到兩個(gè)View之間互相切換喊废,列舉下各種方式,但是下面每種方式都要自己靈活運(yùn)用,不一定就是進(jìn)入下一個(gè)吐葵、后一個(gè)必須用“一”里面的方式勇边。
一:進(jìn)入下\后一個(gè)View
A:insertSubView系列:(注意,如果你新增視圖不夠大折联,則遮不住上一層視圖粒褒,即前后2個(gè)視圖都存在,當(dāng)然你可以做透明來查看所有,與二A對(duì)應(yīng))
? – addSubview: (常用增加視圖在本View上面)
? – bringSubviewToFront;將新視圖放在其他同級(jí)視圖的top位置
? – insertSubview:atIndex: 將新視圖放在第index層嗜浮,index是從底層向上數(shù)的下標(biāo)位置
? – insertSubview:aboveSubview:將新視圖放在第二個(gè)參數(shù)view的上面
? – insertSubview:belowSubview:將新視圖放在第二個(gè)參數(shù)view的下面
? – exchangeSubviewAtIndex:withSubviewAtIndex:改變新視圖從第一個(gè)位置到第二個(gè)位置
B:presentViewController系列:(常用視圖切換,與二B對(duì)應(yīng))
? – presentViewController:animated:completion: 彈出打肝,出現(xiàn)一個(gè)新視圖 可以帶動(dòng)畫效果,完成后可以做相應(yīng)的執(zhí)行函數(shù)經(jīng)常為nil
? – presentModalViewController:animated: 彈出音比,出現(xiàn)一個(gè)新視圖 可以帶動(dòng)畫效果
C:UINavigationController系列:(常用導(dǎo)航欄視圖切換,與二C對(duì)應(yīng))
? – pushViewController:animated: 推進(jìn)一個(gè)新視圖到棧里,出現(xiàn)新視圖苛萎,可以帶動(dòng)畫效果
例 pushViewController:animated:
二:返回上\前一個(gè)View
A:insertSubView系列:(注意,如果你新增視圖不夠大检号,則遮不住上一層視圖腌歉,即前后2個(gè)視圖都存在,當(dāng)然你可以做透明來查看所有齐苛,與一A對(duì)應(yīng))
? – sendSubviewToBack: 將新視圖放在其他同級(jí)視圖的behind位置
? – removeFromSuperview:將新視圖從父視圖上移除
B:presentViewController系列:(與一B對(duì)應(yīng))
? – dismissViewControllerAnimated:completion:退出一個(gè)新視圖 可以帶動(dòng)畫效果翘盖,完成后可以做相應(yīng)的執(zhí)行函數(shù)經(jīng)常為nil
? – dismissModalViewControllerAnimated: 退出一個(gè)新視圖 可以帶動(dòng)畫效果
C:UINavigationController系列:(常用導(dǎo)航欄視圖切換,與一C對(duì)應(yīng))
? – popViewControllerAnimated: 從一個(gè)棧中退出視圖凹蜂,返回上一層馍驯,可以帶動(dòng)畫效果
? – popToRootViewControllerAnimated:從一個(gè)棧中退出視圖,返回到navigation的RootView玛痊,可以帶動(dòng)畫效果
? – popToViewController:animated:從一個(gè)棧中退出視圖汰瘫,返回到navigation中指定的view,可以帶動(dòng)畫效果
基本上上面已經(jīng)介紹完全部常用視圖切換方式:
三:UITabBarController:(需要先將幾種視圖在tabBar種設(shè)置好)
? – setViewControllers:animated:設(shè)置要出現(xiàn)的視圖
? selectedViewController 設(shè)置要出現(xiàn)的視圖
? selectedIndex 設(shè)置要出現(xiàn)的視圖下標(biāo)