使用用户定义的运行时属性获取圆形按钮

时间:2016-04-21 07:10:26

标签: xcode swift

首先我正在使用swift。其次,我已经进行了CAlayer扩展

extension CALayer
{
    func borderUIColor() -> UIColor? {
        return borderColor != nil ? UIColor(CGColor: borderColor!) : nil
    }

    func setBorderUIColor(color: UIColor) {
        borderColor = color.CGColor
    }
}

以下是具有此属性的结果

enter image description here

  

结果:

enter image description here

我得到那些角落类型的尖峰,其中哪些图层属性可以帮助我。我是否会转移界限或处理内容或其他内容。

1 个答案:

答案 0 :(得分:1)

用计算属性替换扩展方法,如下所示:

extension CALayer
{
    var borderUIColor(): UIColor? {
        get {
            return borderColor
        }

        set {
            borderColor = borderUIColor
        }
    }
}

正如您所看到的,您根本不需要扩展程序 - 只需使用图层borderColor即可。将layer.borderUIColor运行时属性替换为layer.borderColor,为了达到最佳效果,请将layer.masksToBounds添加为true