使用枚举创建自定义视图

Create a custom View with an enum

我正在创建一个自定义视图,它有一个枚举,可以在任何调用它的地方创建一个自定义形状。 我想从 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)