快速添加圆角和描边

前言 对于习惯使用Storyboard的人来说,设置圆角、描边是一件比较蛋疼的事,因为苹果没有在xcode的Interface Builder上直接提供修改控件的圆角,边框设置。 我们来说说如何对某个控件进行圆角、描边处理: 初级 对于一个初学者来说,如果要进行某个控件的圆角、描边设置,就要从Storyboard关联出属性,然后再对属性进行代码处理。 如下代码: self.myButton.layer.cornerRadius = 20; self.myButton.layer.masksToBounds = YES; self.myButton.layer.borderWidth = 2; self.myButton.layer.borderColor = [UIColor blackColor].CGColor; 这样不仅需要Storyboard关联出属性,还要写一堆代码对属性进行设置,不得不说实在麻烦~ 中级 更聪明的做法是使用Storyboard提供的Runtime Attributes为控件添加圆角描边。 选中控件,然后在Runtime Attributes框中输入对应的Key与Type与Value,这样程序在运行时就会通过KVC为你的控件属性进行赋值。(不仅仅是圆角、描边~) 如下图 设置圆角、描边的Key为: layer.borderWidth layer.borderColorFromUIColor layer.cornerRadius clipsToBounds 我这次在测试时, 这样做不用关联出属性,但是需要输入大串字符串,也是不够方便。 高级 创建UIView的分类,使用IBInspectable+ IB_DESIGNABLE关键字: #import <UIKit/UIKit.h> IB_DESIGNABLE @interface UIView (Inspectable) @property(nonatomic,assign) IBInspectable CGFloat cornerRadius; @property(nonatomic,assign) IBInspectable CGFloat borderWidth; @property(nonatomic,assign) IBInspectable UIColor *borderColor; @end #import "UIView+Inspectable.h" @implementation UIView (Inspectable) -(void)setCornerRadius:(CGFloat)cornerRadius{ self.layer.masksToBounds = YES; self.layer.cornerRadius = cornerRadius; } -(void)setBorderColor:(UIColor *)borderColor{ self.layer.borderColor = borderColor.CGColor; } -(void)setBorderWidth:(CGFloat)borderWidth{ self.layer.borderWidth = borderWidth; } - (CGFloat)cornerRadius{ return self.layer.cornerRadius; } - (CGFloat)borderWidth{ return self.layer.borderWidth; } - (UIColor *)borderColor{ return [UIColor colorWithCGColor:self.layer.borderColor]; } @end 附上:GitHub地址 ...

2016-12-01 · 1 min · 121 words · Cee Yang