我想在导航栏上放一张图片和标签,所以我决定这样做:
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 上测试它时,我收到了这个错误:
致命错误:对类“Insurance.FixedImageNavigationItem”使用未实现的初始值设定项“init(title:)”
有任何想法吗?
提前致谢
该错误与设备类型无关,但与 iOS 版本无关,因为init(coder:)方法是在 iOS 9 中引入的,因此崩溃。
但是 initiaizer init(title:)可以在 iOS 2.0 以上的 iOS 版本中使用,并且您已经在 iOS 8 上实现了它,这就是错误所指出的。
你应该实现init(title:)
而不是init(coder:)
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句