我想在我的导航栏上放一张图片和标签,所以我决定这样做:
class FixedImageNavigationItem: UINavigationItem {
private let fixedImage : UIImage = UIImage(named: "navlogo")!
private var imagak : UIImageView!
private let imageView : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 129, height: 40))
private var labelaki : UILabel!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let tView = imageView
imagak = UIImageView(frame: CGRect(x: 2, y: 3, width: 32, height: 35))
labelaki = UILabel(frame: CGRect(x: 38, y: 10, width: 87, height: 21))
imagak.image = fixedImage
labelaki.text = "Prime Help"
labelaki.textColor = UIColor.white
imageView.addSubview(labelaki)
imageView.addSubview(imagak)
tView.contentMode = .scaleAspectFit
self.titleView = tView
}
}
上面的代码在 iphone 5 及更高版本上工作得很好,但是当我试图在 iphone 4s ios 8 上测试它时,我得到了这个错误:
fatal error: use of unimplemented initializer 'init(title:)' for class 'Insurance.FixedImageNavigationItem'
有什么想法吗?
提前致谢
最佳答案
该错误与设备类型无关,但与 iOS 版本有关 init(coder:)方法在 iOS 9 中引入,因此崩溃。
但是启动器init(title:) , 可以在 iOS 2.0 以上的 iOS 版本中使用,并且你已经在 iOS 8 上实现了它,这就是错误所指出的。
你应该实现 init(title:)
而不是 init(coder:)
。
关于ios - fatal error : use of unimplemented initializer Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47176125/