【发布时间】:2020-08-05 17:21:44
【问题描述】:
我有一个自定义 UIImageView 子类,它运行一些基本代码,例如创建阴影等。
当我不覆盖任何 init 时,一切正常。我可以创建一个空的 CustomImageView() ,就像我创建一个空的 UIImageView() 一样。当我添加所有必需的覆盖时,我不能再创建一个空对象了。
我得到的错误是:
无法调用类型“ProfilePictureImageView”的初始化程序,没有 论据
建议:
- “ProfilePictureImageView”的重载存在这些部分匹配的参数列表:(coder: NSCoder), (frame: CGRect), (image: UIImage?)
我像这样在视图控制器中创建空对象:
var customImageView = CustomImageView()
我的自定义 UIImageView 子类如下所示:
class CustomImageView: UIImageView {
override init(image: UIImage?) {
super.init(image: image)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func layoutSubviews() {
super.layoutSubviews()
}
// Followed by my custom variables and methods.
}
我尝试添加以下内容,假设我缺少某种空的init。但这也不起作用。
override init() {
super.init()
}
【问题讨论】:
标签: swift uiimageview initialization overriding subclass