我尝试创建自定义UINavigationBar
课程,然后使用Storyboard
将其设置为我UINavigationController
的NavigationBar的课程。
这是我UINavigationBar
班的代码:
class CustomNavBar: UINavigationBar {
override func drawRect(rect: CGRect) {
super.drawRect(rect)
// Drawing code
self.backgroundColor = UIColor.orangeColor()
let myLabel = UILabel(frame: CGRect(x: 0, y: 4, width: 600, height: 36))
myLabel.backgroundColor = UIColor.purpleColor()
myLabel.textColor = UIColor.yellowColor()
myLabel.text = "Custom NavBar!"
self.addSubview(myLabel)
}
}
然后,在Interface Builder中,我使用Identity Inspector
将其设置为NavigationBar
UINavigationController
的类。
当我运行应用程序时 - 它会冻结。它挂在LaunchScreen.xib
上,并没有做任何事情。
为什么这样做?这样做的正确方法是什么?
答案 0 :(得分:2)
在Swift上:
File-New-File- iOS Source - Cocoa Touch类 - 选择子类:UINavigationBar并命名为 - CustomNavigationBar。
class CustomNavigationBar: UINavigationBar {
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor.redColor()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}
override func drawRect(rect: CGRect) {
}
}