我试图为UIButton
titleView
UINavigationItem
添加override func viewDidLoad() {
super.viewDidLoad()
let titleButton = UIButton()
titleButton.titleLabel?.font = UIFont(name: "HelveticaNeue-Medium", size: 16)
titleButton.titleLabel?.textAlignment = NSTextAlignment.Center;
titleButton.titleLabel?.text = "My Custom Title"
titleButton.titleLabel?.sizeToFit()
self.navigationItem.titleView = titleButton
}
。这是我的代码,但它不起作用。标题完全是空白的。
{{1}}
以下是缺失标题的屏幕截图。
答案 0 :(得分:4)
如果您使用的是Storyboard,则可以将UIButton
拖到titleView。如果Interface Builder不允许您这样做,那么因为您需要先将UINavigationItem
拖到导航栏,这样您就可以在内部拖动视图,例如UIButton
答案 1 :(得分:3)
要设置按钮的标题,您不应该直接设置标签的文本,您应该使用func setTitle(_ title: String?, forState state: UIControlState)
配置按钮以设置特定状态的标题。
通常,您为.Normal
设置标题,然后将其应用于所有状态(默认设置)。