首先,說一下如何在xib中設置Button的邊框及圓角效果:
選中要設置的Button,
SetBtnColor.jpeg
切換到圖中對應位置,點擊加號添加屬性。
設置圓角: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;