swift Key Path Layer.borderColor/Layer.borderUIColor 设置边框为黑框 颜色无效
这边我们可以在xib文件里找到设置keypath的地方,设置他的边框颜色为Layer.borderUIColor = UIcolor.white
但是实际运行效果是却看不出这个效果,一般会出现两种情况:
1.出现黑框(使用的是layer.borderUIColor)
2.无效果(使用的是layer.borderColor)
后来发现原因是少了一个拓展文件,以下我们提供两个版本:
Swift:
extension CALayer {
@IBInspectable
var borderUIColor: UIColor {
get {
return UIColor(cgColor: self.borderColor!)
} set {
self.borderColor = newValue.cgColor
}
}
}
Ios OC:
// CALayer+XibBorderColor.h
@interface CALayer (XibBorderColor)
@property (nonatomic, strong) UIColor *borderColorWithUIColor;
@end
// CALayer+XibBorderColor.m
#import "CALayer+XibBorderColor.h"
@implementation CALayer (XibBorderColor)
- (void)setBorderColorWithUIColor:(UIColor *)borderColorWithUIColor {
self.borderColor = borderColorWithUIColor.CGColor;
}
@end