我的目標僅僅是當用戶導航到特定屏幕時刪除我的應用程序的選項卡欄,以便我有更多可用空間。如何在用戶導航到其他屏幕時刪除標籤欄?
目前,我的故事板是這樣的:
每當用戶點擊,他們將被帶到另一個屏幕,這是序列中的最後一個屏幕的按鈕。我的目標是簡單地刪除標籤欄,但保持導航。
如果我使用一個show detail
segue,那麼它將刪除標籤欄,但也會導航,這是我不想要的東西。
這是最後的畫面(但它仍然有標籤欄):
我的目標僅僅是當用戶導航到特定屏幕時刪除我的應用程序的選項卡欄,以便我有更多可用空間。如何在用戶導航到其他屏幕時刪除標籤欄?
目前,我的故事板是這樣的:
每當用戶點擊,他們將被帶到另一個屏幕,這是序列中的最後一個屏幕的按鈕。我的目標是簡單地刪除標籤欄,但保持導航。
如果我使用一個show detail
segue,那麼它將刪除標籤欄,但也會導航,這是我不想要的東西。
這是最後的畫面(但它仍然有標籤欄):
隱藏在viewWillDisappear
self.tabBarController.tabBar.hidden = YES;
你甚至可以設置該屬性hidesBottomBarWhenPushed
等於true
您DestinationViewController
。您可以在prepareForSegue
方法覆蓋中執行此操作。
if let vc = segue.destinationViewController as? YOURVIEWCONTROLLER {
vc.hidesBottomBarWhenPushed = true
}
這樣,如果視圖控制器應該需要在其他情況下,底欄,它會顯示
您可以編寫prepareforsegue
像下面,
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
segue.destinationViewController.hidesBottomBarWhenPushed = YES;
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
斯威夫特:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
segue.destinationViewController.hidesBottomBarWhenPushed = true
}
所以在目的地vi不會顯示新的控制器標籤欄。
根據你的問題,你可以在FirstTableViewcontroller
實現和tabbar不會在TaretViewController
可見。
希望這會有所幫助:)
這種方法有點奇怪,因爲它會調整當前標籤。例如,firstView具有選項卡,然後當轉到另一個屏幕時,它將調整標籤,圖像等的大小。這就像是在瞬間發生的事情 – airsoftFreak
此方法將調整對象,如標籤或圖像從標籤到無標籤。這就像是發生在分秒 – airsoftFreak