我有UINavigationBar
的子类。
如何在此子类中设置barTintColor
?
class NavBar: UINavigationBar {
override func sizeThatFits(_ size: CGSize) -> CGSize {
return CGSize(width:UIScreen.main.bounds.width, height: 66)
}
}
答案 0 :(得分:1)
您只需要覆盖UINavigationBar
。
class NavBar: UINavigationBar {
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
private func commonInit() {
// Change barTintColor to whatever you would like
self.barTintColor = .red
}
override func sizeThatFits(_ size: CGSize) -> CGSize {
return CGSize(width:UIScreen.main.bounds.width, height: 66)
}
}
答案 1 :(得分:0)
我已设法通过继承UINavigationController
并从那里设置barTintColor
来使其发挥作用:
class NavBarVC: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationBar.barTintColor = UIColor.someColor
}
}
编辑:最后我使用了@ dirtydanee的答案中的解决方案。因此,我不需要继承UINavigationController
。