如何在storyboard設置圓角(cornerRadius)、邊框(borderWidth)等操作。

目錄

方法1:Runtime Attributes

方法2:使用@IBInspectable(下面以UIButton爲例介紹使用方法)

Step1:創建一個UIButton分類(Category)UIButton+Layer

Step2:UIButton+Layer.h 中添加屬性

Step3:UIButton+Layer.m中實現setter、getter方法

Step4:到這裏前期準備就做完了,選中storyboard中你的任意一個UIButton,都能在下圖中簡單地設置

step5:來看看效果

總結:


方法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的特點,還可以做其它方面的延伸~

 

日常開發使用心得整理,如有紕漏,歡迎指正!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章