IBInspectable 和 IB_DESIGNABLE

IBInspectable storyboard 中直接修改邊框顏色和邊框寬度
IB_DESIGNABLE storyboard 中直接顯示出圓角效果

效果圖

storyboard 中直接修改邊框顏色和邊框寬度

<img src=http://www.boitx.org/ios/IBInspectable/1.gif width=600>

storyboard 中直接顯示出圓角效果

<img src=http://www.boitx.org/ios/IBInspectable/2.gif width=900>

IBInspectable

用 IBInspectable 聲明變量,變量會直接顯示到 storyboard 中 屬性檢查器里面,會像修改 view 顏色一樣方便的進行修改。

@property (nonatomic,strong) IBInspectable UIColor *borderC;
@property (nonatomic,assign) IBInspectable CGFloat borderWidth;

IB_DESIGNABLE

聲明類,對類進行自定義,自定義效果會直接顯示到 storyboard 中。

IB_DESIGNABLE

@interface BorderView : UIView

核心代碼

BorderView.h
#import <UIKit/UIKit.h>


IB_DESIGNABLE

@interface BorderView : UIView

@property (nonatomic,strong) IBInspectable UIColor *borderC;

@property (nonatomic,assign) IBInspectable CGFloat borderWidth;


@end
BorderView.m
#import "BorderView.h"

@implementation BorderView

- (instancetype)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame]) {
        self.layer.masksToBounds = YES;
        self.layer.cornerRadius = 50;
    }
    return self;
}

- (void)setBorderC:(UIColor *)borderC
{
    _borderC = borderC;
    self.layer.borderColor = borderC.CGColor;
}

- (void)setBorderWidth:(CGFloat)borderWidth
{
    _borderWidth = borderWidth;
    self.layer.borderWidth = borderWidth;
}

@end

下載demo

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容