为什么我不能在 Swift 中设置我的 UINavigationController 的标题?
Why I cannot set a title of my UINavigationController in Swift?
我的应用程序中有一个 UINavigationController
,我在其中添加了分段控件:
我还有一个按钮,当用户按下它时,我想隐藏分段控件并显示一个字符串。
我可以通过以下方式隐藏分段控件:
segmentedControl.hidden = true
它有效,但是当我在代码中写入时:
self.title = "test"
然后测试词没有出现。这里有什么问题,我该如何解决?
我相信你需要使用
self.navigationItem.title = "test"
我刚刚做了一个测试用例,它对我有用。
如果您已经设置了 titleView
of navigationItem
并尝试设置 title
那么您需要先将 titleView
设置为 nil
然后再设置它将在 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"
我的应用程序中有一个 UINavigationController
,我在其中添加了分段控件:
我还有一个按钮,当用户按下它时,我想隐藏分段控件并显示一个字符串。
我可以通过以下方式隐藏分段控件:
segmentedControl.hidden = true
它有效,但是当我在代码中写入时:
self.title = "test"
然后测试词没有出现。这里有什么问题,我该如何解决?
我相信你需要使用
self.navigationItem.title = "test"
我刚刚做了一个测试用例,它对我有用。
如果您已经设置了 titleView
of navigationItem
并尝试设置 title
那么您需要先将 titleView
设置为 nil
然后再设置它将在 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"