2015-09-19 91 views
0

我有一個帶有tableview的導航欄,當我選擇tableview的一個單元格時,它會將我帶到另一個帶有所選單元格標題的表格視圖,並且我還使用頁面視圖控制器tableviews。UINavigationBar標題無法正確設置

我在第一的tableview的視圖控制器載導航欄的標題爲根表:

override func viewDidLoad() { 
    self.navigationItem.title = "TableView Title" 
} 

我設定欄的標題中選擇在第二的tableview的視圖控制器作爲細胞後:

override func viewDidLoad() { 
    self.navigationController?.navigationBar.topItem?.title = "chosen cell text" 

} 

override func viewDidAppear(animated: Bool) { 
    self.navigationController?.navigationBar.topItem?.title = "chosen cell text" 
} 

使用這些代碼,它正確設置了根tableview的標題。

但是,當我選擇一個細胞。根表的標題出現在後退按鈕中。沒有其他的標題。

當我轉到第二個tableview的下一頁時,第二個tableview的標題顯示正確。因此,爲什麼第二個tableview的標題在第一次出現時不會出現。我怎樣才能調用它?

解決方案:首先感謝您的幫助。我嘗試通過self.navigationItem.titleView = "chosen cell text" 更改頁面查看器控制器中的標題,它起作用。

回答

1

設置子視圖控制器本身的標題屬性。

例子:

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.title = "Chosen Cell Text" 
} 
+0

子視圖 - 控制多年平均值有自己的酒吧。所以它不會改變任何東西 – sof98789

+0

正確的,視圖控制器應該共享導航控制器,並因此共享導航欄。但是,導航控制器通過閱讀視圖控制器的標題屬性來自動更新導航欄。此代碼已經過測試。相信我,我知道它有效。擺脫手動設置導航欄標題的行。 –

+0

但它並不適用於我所有我看到的是「根視圖控制器」。也許問題是頁面查看器控制器,需要關心顯示第二個表。 – sof98789