2016-09-19 24 views
0

我有我的應用程序一個UINavigationController和我說有分段的控制:爲什麼我不能在Swift中設置我的UINavigationController的標題?

enter image description here

我也有一個按鈕,當用戶按下它,我想隱藏分段控制和顯示一個字符串代替。

我可以做隱藏分段控制:

segmentedControl.hidden = true 

和它的作品,但是當我在寫代碼:

self.title = "test" 

那麼測試字不會出現。這裏有什麼問題,我該如何解決?

回答

2

如果你已經設置的navigationItemtitleView,試圖把title,那麼你需要先設置titleViewnil那麼只有它會顯示在你的NavigationBar稱號。

self.navigationItem.titleView = nil 
self.navigationItem.title = "Test" 

編輯:要獲得SegmentedControl實例回你需要先實例從titleView喜歡這家店。

self.segmentedControl = self.navigationItem.titleView as! UISegmentedControl 
self.navigationItem.titleView = UIView() //Set blank view so it will not nil the object of SegmentedControl 
self.navigationItem.titleView = nil 
self.navigationItem.title = "Test" 
+0

你能告訴我如何回到在那裏顯示的segmentedControl?我嘗試'self.navigationItem.titleView = mySegmentedControl',但它沒有顯示出來,'test'字仍然可見... – user3766930

+1

因此,您需要存儲segmentedcontrol的實例,然後將其設置爲nil。 –

+0

嗯你能給我一些更大的見解嗎?這聽起來是合理的,但我不知道如何做到這一點在斯威夫特:( – user3766930

0

我相信你需要使用

self.navigationItem.title = "test" 

我只是做了一個測試案例,它爲我工作。

相關問題