2016-09-19 19 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" 

我只是做了一个测试案例,它为我工作。

相关问题