美文网首页
OC: 在 xib 和 storyboard中为 View 添加

OC: 在 xib 和 storyboard中为 View 添加

作者: 一欧Yiou | 来源:发表于2018-12-13 11:39 被阅读7次
    • 在xib中 identity inspector —> User Defined Runtime Attributes —> 添加Key Path以及Value
    • 设置圆角:layer.cornerRadius 对应ValueTypeNumber或者String。如果Value值为正方形width的一半,则为圆形。
    • 设置边框宽度:layer.borderWidth 对应ValueTypeNumber或者String
    • 设置边框颜色:layer.borderColor 对应ValueTypeColor

    这样设置后,圆角,宽度都生效了,可是边框的颜色是黑色,也就是设置边框颜色没有生效。

    原因

    QuartzCore.framework中找到CALayer.h这个头文件,搜索borderColor这个属性 @property(nullable) CGColorRef borderColor; 到这里 我们就可以找到原因了。在User Defined Runtime Attributes 中设置layer.borderColorValueTypeColor,这里的Color对应的是UIColor,而设置layer.borderColor需要是CGColor类型,因此没有生效。

    关于 UIColor CGColor CIColor的区别联系

    建立一个CALayer的分类Category
    OC: CALayer+MaxMethod

    borderColor.png
    Swift
    extension CALayer {
        var borderColorFromUIColor: UIColor {
            get
            {
                return UIColor(cgColor: self.borderColor!)
            }
            set
            {
                self.borderColor = newValue.cgColor
            }   
        }
    }
    

    相关文章

      网友评论

          本文标题:OC: 在 xib 和 storyboard中为 View 添加

          本文链接:https://www.haomeiwen.com/subject/jqpvhqtx.html