我爲界面使用故事板,並且我有以下內容:UINavigationBar在推後顯示
登錄窗口是segue的init視圖。如果登錄成功,它將使用戶進入另一個無法返回登錄頁面的視圖!這是一個UITabBarController
,它有它自己的導航欄。現在它顯示了兩個導航欄和後退按鈕是整個應用程序。
如果我點擊後退按鈕,它總是帶我到登錄視圖。有任何想法嗎?
我爲界面使用故事板,並且我有以下內容:UINavigationBar在推後顯示
登錄窗口是segue的init視圖。如果登錄成功,它將使用戶進入另一個無法返回登錄頁面的視圖!這是一個UITabBarController
,它有它自己的導航欄。現在它顯示了兩個導航欄和後退按鈕是整個應用程序。
如果我點擊後退按鈕,它總是帶我到登錄視圖。有任何想法嗎?
出現這種情況,當你有一個navigationcontroller,這增加了狀態欄你Segue公司的方式在每個控制器的視圖幾個導航控制器這樣的話,併爲每個控制器的視圖自己的導航欄。
一)剛剛擺脫專用導航欄的控制器Segue公司的方式進入
B)不要使用navigationcontroller並做模態推到控制器的意見
[currentController presentModalViewController:controllerYouWantToShow animated:YES]
C)導航控制器的導航欄,我不會推薦,雖然,因爲它給你奇怪的行爲,真的是蠻力,只是不是最好的方式去它..
嘗試b)但沒有運氣! a)不能擺脫他們,因爲我需要幾個按鈕取決於它加載的視圖。不知道這裏可能會做什麼! – marsalal1014
c) [currentController presentModalViewController:controllerYouWantToShow animated:YES]; – MJB
我做過之前,但alol我得到的是:「應用程序試圖呈現一個主動控制器模態」,因爲登錄查看其第一個視圖顯示 – marsalal1014
你想隱藏整吧?
如果是這樣的:
[self.navigationController setNavigationBarHidden:YES animated:NO];
或者你只是想隱藏後退按鈕?
[self.navigationItem setHidesBackButton:YES animated:NO]
您應該在情節串聯模式中向左看導航控制器。如果您不想要後退按鈕或隱藏任何一個,您可以刪除導航欄。
[self.navigationController setNavigationBarHidden:YES animated:NO];
但是也有做一個登錄界面比推到視圖控制器棧這就是你與導航控制器做的更好的方法。
做一個登錄的好方法是呈現一個模態視圖控制器,然後在沒有導航控制器的情況下解除它。這樣,如果您已經登錄,您將永遠無法導航回登錄屏幕。只需在應用程序委託中設置一個全局布爾變量,以允許整個應用程序知道您已登錄,然後在測試該變量之後你關閉了模態登錄頁面。
你沒有,你通常不希望
乾杯
嗨! ive通過隱藏它的方式嘗試,但我只隱藏自己的導航欄,而不是與後退按鈕的酒吧 – marsalal1014
我的經驗也有很多與導航控制器有關的問題,但您需要知道何時使用它們何時不去。如果您需要使用兩個導航控制器來解決您的問題,那麼很可能有更好的方法來解決問題。將模式轉換想象爲像網站這樣的彈出窗口。網上很多時間,登錄表單彈出,解散,然後導航用戶到他們的個人資料或任何其他。我想這可能是你正在尋找的,而不是使用兩個導航欄。希望這可以幫助。 – onetwopunch
他顯然不是看起來有兩個酒吧 – MJB
如果您使用導航控制器和推塞格,你會得到一個'bac' k'按鈕,因爲這是導航控制器的本質。這聽起來像你想要的(「哪些不能有登錄頁面的後退按鈕」)是重置導航控制器的堆棧,使其不包含登錄視圖控制器。你應該可以用自定義的segue來做到這一點(它們很容易編寫)。另一種選擇是以模態方式呈現登錄視圖控制器,這是執行登錄屏幕的一種非常典型的方式。
[iOS切換到另一個ViewController /視圖後登錄LoginView]可能重複(http://stackoverflow.com/questions/6884160/ios-switch-to-another-viewcontroller-view-after-login-on- loginview) – Caleb
不是沒有,因爲idont本身想隱藏我的導航欄。我爲每個視圖控制器有一個自定義欄 – marsalal1014