首先,说一下如何在xib中设置Button的边框及圆角效果:
选中要设置的Button,
切换到图中对应位置,点击加号添加属性。
设置圆角:Key Path:layer.borderWidth Type:Number Value:1
设置边框宽度:Key Path:layer.cornerRadius Type:Number Value:3
如果要设置边框的颜色:Key Path:layer.borderColor Type:Color Value值默认,此时边框颜色为黑色,若要改变Value的值,则边框消失
注意:在设置属性的时候,千万不要写错,我开始的时候是复制过来的,多了一个空格,结果就无法显示设置的效果
下面介绍如何设置边框颜色:
要想设置任意的边框颜色,首先要对CALayer添加category,然后在category中添加一个方法
具体步骤如下:
1.创建category
command+N创建新文件,选择iOS→Source→Objective-C File,然后File Type选择Category,Class选择CALayer,File为自定义文件名
2.在.m文件中添加方法
创建好文件后,在.m文件新增方法
- (void)setBorderColorWithUIColor:(UIColor *)color
{
self.borderColor = color.CGColor;
}
此时会报错,需要导入头文件#import <UIKit/UIKit.h>
3.在xib中添加属性
在xib中设置边框颜色,添加属性Key Path:layer.borderColorWithUIColor Type:Color 此时Value可以任意选择
再次提醒:填写Key Path的时候一定要填写正确,即使多一个空格也不会显示对应的效果
接下来介绍代码方式:(直接上代码)
[box.actionButton.layer setMasksToBounds:YES];
[box.actionButton.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
//边框宽度
[box.actionButton.layer setBorderWidth:1.0];
//设置边框颜色有两种方法:第一种如下:
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGColorRef colorref = CGColorCreate(colorSpace,(CGFloat[]){ 0, 0, 0, 1 });
[box.actionButton.layer setBorderColor:colorref];//边框颜色
//第二种方法如下:
//button.layer.borderColor=[UIColor grayColor].CGColor;