簡體   English   中英

移動到另一個視圖時標簽欄控制器消失(iOS SDK,使用故事板)

[英]Tab Bar controller disappearing when moving to another view (iOS SDK, Using storyboards)

我正在使用故事板構建iPhone應用程序,我的標簽欄控制器有問題。 在其中一個從標簽欄控制器(view1)鏈接的視圖中,有一個按鈕指向另一個視圖(view2)。 在View2上,有一個按鈕可以返回View1。 很直接。 但是當我從view1轉到view2時,標簽欄消失了,更糟糕的是,當我回到View1時,標簽欄仍然消失了...我該如何解決? (我還沒有在應用程序中放置任何代碼,只有故事板和蘋果提供了AppDelegate類(我想也是一個主文件,但我不打算接觸它)。

任何回復都非常感謝!

如果您從一個標簽欄視圖的視圖中執行模態segue,它將擺脫您正在呈現的模態視圖的標簽欄。

其次,當你進行segue時,你正在創建一個視圖控制器的新實例。 所以我猜你是從view1到view2並且丟失了標簽欄,然后你又回到了view1。 此時,您已創建view1,view2和view1的第二個副本,該副本沒有標簽欄。

我會建議兩件事之一。

1.)如果要在從view1轉到view2時將標簽保持在底部,然后單擊view1,在屏幕頂部選擇Editor / Embed In / Navigation Controller。 這會將您的view1嵌入導航控制器中。 然后,如果您將segue從Modal更改為Push,它將使標簽欄保持在底部。 頂部的導航欄還可以輕松地從視圖2返回到視圖1以正確的方式(通過彈出視圖)而不是創建新的segue。 如果您不喜歡導航欄,則可以在檢查器中將“頂欄”屬性更改為“無”。 然后,您需要在view2中創建一些其他方法以返回view1。 (通過控制器,而不是按控制器)

2)如果您不想設置導航控制器,那么將標簽欄的內容保持在view2控制器的底部會有一點點困難。 事實上,我不確定你是否可以使用模態segue完成它,你可能不得不寫一些類型的自定義segue。 無論哪種方式,如果你想轉換回view1並轉到正確的控制器(不是沒有選項卡的新版本),那么你需要將一個動作附加到你用來segue的任何按鈕並使用下面的代碼(我也附上)導航控制器推送segue的代碼,以防您創建導航控制器並擺脫導航欄。)

對於模態瞄准:

[self dismissModalViewControllerAnimated:YES];

對於Push segue:

[self.navigationController popViewControllerAnimated:YES];

您最好的選擇是使用導航控制器方法,因為您可以放心使用。 然后,您可以使用導航欄返回(簡單的方法,無需代碼),或者您可以擺脫它並使用按鈕和上面的代碼。

祝好運!

我有同樣的問題,我知道這是一個老問題但是[self dismissModalViewControllerAnimated:YES]; 在iOS 6中已棄用。

我用的是:

[self dismissViewControllerAnimated:YES completion:nil];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM