UIButton 作为 UINavigationItem titleView
UIButton as UINavigationItem titleView
我正在尝试将 UIButton
作为我的 UINavigationItem
的 titleView
。这是我的代码,但它不起作用。标题完全空白。
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
}
这是缺少标题的屏幕截图。
要设置按钮的标题,您不应该直接设置标签的文本,您应该配置按钮以使用 func setTitle(_ title: String?, forState state: UIControlState)
.[=12= 为特定状态设置标题]
通常,您为 .Normal
设置标题,然后该标题将应用于所有州(默认)。
如果您使用的是 Storyboard,可以将 UIButton
拖到 titleView。如果 Interface Builder 不允许您这样做,那是因为您需要先将 UINavigationItem
拖到导航栏,然后您可以将视图拖入其中,例如 UIButton
.
我正在尝试将 UIButton
作为我的 UINavigationItem
的 titleView
。这是我的代码,但它不起作用。标题完全空白。
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
}
这是缺少标题的屏幕截图。
要设置按钮的标题,您不应该直接设置标签的文本,您应该配置按钮以使用 func setTitle(_ title: String?, forState state: UIControlState)
.[=12= 为特定状态设置标题]
通常,您为 .Normal
设置标题,然后该标题将应用于所有州(默认)。
如果您使用的是 Storyboard,可以将 UIButton
拖到 titleView。如果 Interface Builder 不允许您这样做,那是因为您需要先将 UINavigationItem
拖到导航栏,然后您可以将视图拖入其中,例如 UIButton
.