问题描述
如下图所示,如果我们想在Storyboard中设置控件的某些属性,可以通过Key Path设置属性的Value来实现.
结果在经过一系列设置后发现并没有效果.
通过Key Path设置圆角.png
解决问题
查看代码的实现方式,我们可以发现layer.borderColor
需要传递的是一个CGColor
,效果没有出来的原因就是这个.
self.layer.cornerRadius = 4;
self.layer.borderWidth = 1;
self.layer.borderColor = [UIColor lightGrayColor].CGColor;
self.layer.masksToBounds = YES;
随后在google上发现了一个解决方法:创建CALayer的分类,全部代码放上
#import <QuartzCore/QuartzCore.h>
@interface CALayer (BorderColor)
@end
#import "CALayer+BorderColor.h"
@implementation CALayer (BorderColor)
- (void)setBorderColorWithUIColor:(UIColor *)color
{
self.borderColor = color.CGColor;
}
@end
最后将Storyboard
中设置的layer.borderColor
修改为layer.borderColorWithUIColor
就可以了.
网友评论