目錄
方法2:使用@IBInspectable(下面以UIButton爲例介紹使用方法)
Step1:創建一個UIButton分類(Category)UIButton+Layer
Step3:UIButton+Layer.m中實現setter、getter方法
Step4:到這裏前期準備就做完了,選中storyboard中你的任意一個UIButton,都能在下圖中簡單地設置
方法1:Runtime Attributes
設置圓角:layer.cornerRadius
設置邊寬:layer.borderWidth
缺點:keyPath需要手敲,容易拼寫錯誤,需要設置多個控件時相對比較麻煩。
方法2:使用@IBInspectable(下面以UIButton爲例介紹使用方法)
Step1:創建一個UIButton分類(Category)UIButton+Layer
Step2:UIButton+Layer.h 中添加屬性
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIButton (Layer)
@property (nonatomic, assign) IBInspectable CGFloat cornerRadius;
@property (nonatomic, assign) IBInspectable CGFloat borderWidth;
@end
NS_ASSUME_NONNULL_END
Step3:UIButton+Layer.m中實現setter、getter方法
#import "UIButton+Layer.h"
@implementation UIButton (Layer)
/************ cornerRadius ************/
- (void)setCornerRadius:(CGFloat)cornerRadius {
self.layer.cornerRadius = cornerRadius;
}
- (CGFloat)cornerRadius {
return self.layer.cornerRadius;
}
/************ borderWidth ************/
- (void)setBorderWidth:(CGFloat)borderWidth {
self.layer.borderWidth = borderWidth;
}
- (CGFloat)borderWidth {
return self.layer.borderWidth;
}
@end
Step4:到這裏前期準備就做完了,選中storyboard中你的任意一個UIButton,都能在下圖中簡單地設置
step5:來看看效果
*************************************************************************************************
總結:
1、方法1的Runtime Attributes在針對個別控件設置地時候還是比較適用的,需要注意拼寫別出錯;
2、方法2的@IBInspectable在項目中有多個控件需要設置一些屬性時,結合category就顯得非常方便了,一勞永逸;
3、根據@IBInspectable的特點,還可以做其它方面的延伸~
日常開發使用心得整理,如有紕漏,歡迎指正!!!