在Storyboard中设置控件的边框颜色没有效果

2017-06-28  本文已影响197人  红茶绅士

问题描述

如下图所示,如果我们想在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就可以了.

上一篇下一篇

猜你喜欢

热点阅读