pushViewController, popViewController, presentViewController, dismissViewController---關(guān)于視圖跳轉(zhuǎn)的總結(jié)

pushViewController, popViewController, presentViewController, dismissViewController---關(guān)于視圖跳轉(zhuǎn)的總結(jié)

1变汪、[self.view addSubView:view];和[self.window addSubView:view];需要注意祸憋,此方法只是把頁面(view)加在當(dāng)前頁面(view)上,控制器(viewController)還是原來那個控制器唱捣。此時再用[self.navigationColler pushViewController:animated:];和 [self.navigationController popViewControllerAnimated:];?是不行的公浪。要想使用pushViewController和popViewController進(jìn)行視圖間的切換,就必須要求當(dāng)前視圖是個NavigationController泞莉。

2并扇、有NavigationController導(dǎo)航欄的話琼腔,使用[self.navigationColler pushViewController:animated:];和[self.navigationController popViewControllerAnimated:];來進(jìn)行視圖切換。pushViewController是進(jìn)入到下一個視圖斟叼,popViewController是返回到上一視圖偶惠。

3、沒有NavigationController導(dǎo)航欄的話朗涩,使用[self presentViewController:animated:completion:];和[self dismissViewControllerAnimated:completion:];具體是使用可以從文檔中詳細(xì)了解忽孽。

4、要想使用pushViewController和popViewController來進(jìn)行視圖切換谢床,首先要確保根視圖是NavigationController兄一,不然是不可以用的。這里提供一個簡單的方法讓該視圖或者根視圖是NavigationController识腿。自己定義個子類繼承UINavigationController出革,然后將要展現(xiàn)的視圖包裝到這個子類中,這樣就可以使NavigationController了渡讼。提供的這個方法有很好的好處骂束,就是可以統(tǒng)一的控制各個視圖的屏幕旋轉(zhuǎn)费薄。將一個控制器(UIViewController)包裝成一個導(dǎo)航控制器(UINavigationController):

UIViewController?*vc = [[UIViewController alloc] init];

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

1.用UINavigationController的時候用

----進(jìn)入下一個視圖[self.navigationColler pushViewController:animated:];

----返回之前的視圖[self.navigationController popViewControllerAnimated:];

----ps:push以后會在navigation的left bar自動添加back按鈕,它的響應(yīng)方法就是返回栖雾。所以一般不需要寫返回方法楞抡,點back按鈕即可。

2.其他時候(視圖不是UINavigationController的時候析藕,只是一個viewController時)

----進(jìn)入下一個視圖:[self presentViewController:animated:completion:];

----返回之前的視圖:[self dismissViewControllerAnimated:completion:];

3.切換視圖一般用不到addSubview

UINavigationController是導(dǎo)航控制器召廷,如果pushViewController的話,會跳轉(zhuǎn)到下一個ViewController账胧,點返回會回到現(xiàn)在這個ViewController竞慢;如果是addSubview的話,其實還是對當(dāng)前的ViewController操作治泥,只是在當(dāng)前視圖上面又“蓋”住了一層視圖筹煮,其實原來的畫面在下面呢,看不到而已居夹。(當(dāng)然败潦,也可以用insertSubView ?atIndex那個方法設(shè)置放置的層次)。

4.另加一個:

使用presentViewControllerAnimated方法從A->B->C准脂,若想在C中直接返回A劫扒,則可這樣實現(xiàn):

C中返回事件:

void?back

{

[self?dismissViewControllerAnimated:NO];//注意一定是NO!狸膏!

[[NSNotificationCenter??defaultCenter]postNotificationName:@"backback"?object:nil];

}

然后在B中沟饥,

//在viewdidload中:

[[NSNotificationCenter?defaultCenter]?addObserver:self?selector:@selector(back)?name:@"backback"?object:nil];

-(void)back

{

[self?dismissViewControllerAnimated:YES];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市湾戳,隨后出現(xiàn)的幾起案子贤旷,更是在濱河造成了極大的恐慌,老刑警劉巖砾脑,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幼驶,死亡現(xiàn)場離奇詭異,居然都是意外死亡拦止,警方通過查閱死者的電腦和手機(jī)县遣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汹族,“玉大人萧求,你說我怎么就攤上這事《ヂ鳎” “怎么了夸政?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長榴徐。 經(jīng)常有香客問我守问,道長匀归,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任耗帕,我火速辦了婚禮穆端,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仿便。我一直安慰自己体啰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布嗽仪。 她就那樣靜靜地躺著荒勇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪闻坚。 梳的紋絲不亂的頭發(fā)上沽翔,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音窿凤,去河邊找鬼仅偎。 笑死,一個胖子當(dāng)著我的面吹牛卷玉,可吹牛的內(nèi)容都是我干的哨颂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼相种,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了品姓?” 一聲冷哼從身側(cè)響起寝并,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腹备,沒想到半個月后衬潦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡植酥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年镀岛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片友驮。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡漂羊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卸留,到底是詐尸還是另有隱情走越,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布耻瑟,位于F島的核電站旨指,受9級特大地震影響赏酥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谆构,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一裸扶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧搬素,春花似錦姓言、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宝剖,卻和暖如春纠亚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背皂吮。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工戒傻, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蜂筹。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓需纳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親艺挪。 傳聞我的和親對象是個殘疾皇子不翩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內(nèi)容的引用計數(shù)+1麻裳,想要解決就用__block...
    炙冰閱讀 2,486評論 1 14
  • { 11口蝠、核心動畫 需要簽協(xié)議,但是系統(tǒng)幫簽好 一津坑、CABasicAnimation 1妙蔗、創(chuàng)建基礎(chǔ)動畫對象 CAB...
    CYC666閱讀 1,545評論 2 4
  • 前言的前言 唐巧前輩在微信公眾號「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各項指標(biāo)...
    VincentHK閱讀 5,363評論 3 44
  • 哦吼吼疆瑰,又研究了幾天眉反,把FMDB這個封裝好的數(shù)據(jù)庫搞定了,寫了個簡單的例子穆役,基于FMDB的添刪改查操作寸五,界面很一般...
    lichengjin閱讀 527評論 0 0
  • 北疆環(huán)線:烏魯木齊—奇臺縣(江布拉克)—布爾津(五彩灘)—賈登峪—喀納斯—白哈巴—喀納斯—魔鬼城—烏魯木齊 時間:...
    OuTopos7閱讀 366評論 1 4