使用枚举创建自定义视图



我正在创建一个自定义视图,该视图具有一个枚举,可以在调用它的任何位置创建自定义形状。我想从Init控制这个enum,我不确定这是的最佳方式

class ReadOnlyView: UIView {
public enum Corner {
case half
case quarter
}
public var corner = Corner.half
public init(corner: Corner) {
self.corner = corner
}
var textView = UITextView().autolayoutView()

它在init中显示了此错误

'super.init' isn't called on all paths before returning from initializer

任何人都可以帮助我,实现这个枚举的最佳方式是什么,我想当这个视图被调用时,它还需要设置Corner

非常感谢

此代码应该适用于您:

class ReadOnlyView: UIView {
public enum Corner {
case half
case quarter
}
public var corner: Corner
public init(corner: Corner) {
self.corner = corner
super.init(frame: .zero)
}
@available(*, unavailable)
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

为了从ReadOnlyView创建对象,您应该执行以下操作:

let view = ReadOnlyView(corner: .half)

最新更新