如何初始化uiView框架

时间:2017-01-05 09:53:08

标签: ios objective-c swift uiview swift3

enter image description here你好我在目标c和.m文件中创建了一个UIView我像这样初始化。所以我可以在任何视图中初始化帧 在setupDefaultAttributes中,我设置了元素的默认属性

    - (id)initWithFrame:(CGRect)frame
{
    if ((self = [super initWithFrame:frame]))
    {
        [self setupDefaultAttributes];
    }

    return self;
}

现在我想在Swift中使用这段代码

我该怎么做?当我在swift中尝试此代码时,我收到此错误

属性'self.delegate'未在super.init调用中初始化

2 个答案:

答案 0 :(得分:2)

我不确定您的确切要求,但对于上述目标c语法,您可以使用下面的代码。它可以帮助您实现您的taget

 override init(frame: CGRect) {

  super.init(frame: frame)
  setDefultAttributes()
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

func setDefultAttributes(){

}

enter image description here

答案 1 :(得分:0)

我认为你必须覆盖初始化newFrame属性的init方法(不带参数) (现有方法只是添加新方法)