天天看点

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

很多技术人员习惯于用纯代码设置Button或者其他View的边框属性,

eg: UIView* view = [[UIView alloc]init];

view.layer.borderWidth=2.0;

view.layer.cornerRadius=5.0;

view.layer.borderColor= [UIColorredColor].CGColor;

但是现在也有相当一部分人喜欢在自定义控件的时候,使用Xib,或者用sb来进行布局,那么这时候怎么来使用storyboard或者Xib给View设置边框属性就无从下手了,接下来提供的解决方法希望能给予大家帮助.

通过storyboard的运行时属性runtime attribute,可以对Button设置圆角,边框和边框颜色.(xib同理)

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

找到设置运行时属性的地方

layer.borderWidth和layer.conerRadius可以顺利的设置成功,但是边框的颜色不一定好使,这时候需要给layer添加一个分类.

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)
xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

然后在你的分类.h文件中添加一个属性

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

在分类的.m文件中实现如下方法

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

其实这里添加一个分类的作用就是把你设置的UIColor转化为CGColor

最后设置好你的边框宽度,颜色,圆角.就可以愉快的玩耍了

xib 设置阴影_ios中使用storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

如果你要设置某一控件的圆角就不建议使用layer来设置了,因为使用图层过量会有卡顿现象, 特别是弄圆角或者阴影会很卡, 如果设置图片圆角我们一般用绘图来做:- (UIImage *)obtainCircleImage {

UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);

// 获取上下文

CGContextRef ref = UIGraphicsGetCurrentContext();

// 设置圆形

CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);

CGContextAddEllipseInRect(ref, rect);

// 裁剪

CGContextClip(ref);

// 将图片画上去

[self drawInRect:rect];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

这个方法就是设置圆角图片, 效率很高, 不会造成卡顿现象, 大家要把这个方法单独放到分类中使用.