Ios 如何创建自定义图层类

Ios 如何创建自定义图层类,ios,iphone,swift,Ios,Iphone,Swift,我的问题很直截了当 如何创建图层类型的自定义图层,使我能够: view.layer = nameOfCustomClass 我希望自定义图层类能够设置视图的图层特性,例如: layer.borderColor = UIColor.someColor() layer.cornerRadius = 8 layer.borderWidth = 2 ...... 计划将用作:UIButton.layer=customLayerClass 我正在使用最新的swift简单地创建CALayer的子类并重写

我的问题很直截了当

如何创建图层类型的自定义图层,使我能够:

view.layer = nameOfCustomClass
我希望自定义图层类能够设置视图的图层特性,例如:

layer.borderColor = UIColor.someColor()
layer.cornerRadius = 8
layer.borderWidth = 2
......
计划将用作:
UIButton.layer=customLayerClass

我正在使用最新的swift

简单地创建
CALayer
的子类并重写
init
方法

class MyCustomLayer : CALayer {
    override init() {
        super.init()
        // Customize layer properties here
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
创建子类后,可以将其添加到视图中,如下所示:

let layer = MyCustomLayer()
view.layers.addSublayer(layer)

只需创建
CALayer
的子类并重写
init
方法

class MyCustomLayer : CALayer {
    override init() {
        super.init()
        // Customize layer properties here
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
创建子类后,可以将其添加到视图中,如下所示:

let layer = MyCustomLayer()
view.layers.addSublayer(layer)

只是为了确保,这可以用来设置一个按钮层?uibutton.layer=customLayerClass?您不能使用该语法,但可以使用
uibutton.layer.addSublayer(customLayerClass)
layer
属性始终为只读。为什么在init方法中包含nscoder?为了确保这一点,可以使用它来设置按钮层?uibutton.layer=customLayerClass?您不能使用该语法,但可以使用
uibutton.layer.addSublayer(customLayerClass)
<代码>层属性始终为只读。为什么在init方法中包含nscoder?