我有一個嵌入導航控制器的標籤欄控制器。 我想在標籤中的視圖控制器中設置導航中的標題。如何在視圖控制器內設置導航欄標題?
如果我使用:
self.title = "ABC";
或
self.tabBarItem.title = "ABC";
底部的選項卡的標題設置爲「ABC」,而不是標題在頂部導航欄。
但是,我只想在導航欄中設置標題,而不是在底部的標籤。
我怎麼能這樣做?
我有一個嵌入導航控制器的標籤欄控制器。 我想在標籤中的視圖控制器中設置導航中的標題。如何在視圖控制器內設置導航欄標題?
如果我使用:
self.title = "ABC";
或
self.tabBarItem.title = "ABC";
底部的選項卡的標題設置爲「ABC」,而不是標題在頂部導航欄。
但是,我只想在導航欄中設置標題,而不是在底部的標籤。
我怎麼能這樣做?
您必須將導航項傳遞給鏈。
UINavigationController顯示屬於它的topViewController的navigationItem,它是UITabBarController。
UITabBarController在其選項卡中顯示navigationItem標題。所以,你需要做的是確保該tabBarController的navigationItem是它的selectedViewController的navigationItem
因此,要回顧:
UINavigationController title = topViewController.navigationItem.title
UITabBarController tabTitle = selectedViewController.navigationItem.title
UIViewController title = navigationItem.title
解決方法是:'UITabBarController * tabController =(UITabBarController *)self.parentViewController; tabController.navigationItem.title = @「ABC」;' – mrd
這個效果很好 –
可以使用self.navigationItem.title
設置。
[email protected]"ABC";
如果視圖控制器實際上不在導航控制器中,則不能。導航控制器目前將從標籤控制器獲取標題。 – Wain
@Wain:我沒有得到你的評論?不能正確理解你想說什麼? – Optimistic
@Optimistic,保存了我的1小時,謝謝 –
你可能使用了錯誤的元素,嘗試用下面的例子:
self.tabBarController.title = @"YOUR_TITLE";
爲什麼選項卡嵌入在導航欄中?通常每個標籤都有自己的導航... – Wain
糟糕的設計,可能。您應該將導航控制器嵌入到選項卡欄控制器中,而不是相反。 – duci9y
@很好問題...我試過了,但是如果我將視圖控制器嵌入到導航控制器中,並且在導航控制器中嵌入了TabBar控制器,但它不會顯示選項卡......?或者我錯過了什麼......?我應該注意到,我正在使用SASlideMenu,這可能是通常的方式不起作用的原因? – mrd