我们从上图看到的(我个人认为是UIButton)图标为圆角的形状,使用CALayer来实现,
首先,CALayer和UIView是纠缠不清,相依相存的:两者都继承与NSObject类,应该说两者本质上是一样的,只不过UIView相对于CALayer来说增加了响应事件。
UIView用于来显示内容和响应事件,而内容是用CALayer绘制出來的。
由此我们可得知,CALayer用途为绘制内容,那么在这里我们就可以使用它来绘制出拥有弧度的圆角。修改属性值,改变控件原始的形态。
设置控件允许拥有弧度圆角 BOOL masksToBounds;
btn.layer.masksToBounds = YES;
设置弧度,默认值为 0 CGFloat cornerRadius;
btn.layer.cornerRadius = 8.0;
设置边框的宽度,默认值为 0 CGFloat borderWidth;
btn.layer.borderWidth = 2.0;
设置边框的颜色,默认值为不透明的黑色 CGColorRef borderColor;
btn.layer.borderColor = [[UIColor grayColor]CGColor];