关于IB的一些可视化设置属性的技巧

起初是看过大神们的各种奇巧淫技,发现不仅仅是系统的UI控件可以可视化操作设置属性值的,它是可以自定义的,那么我来介绍下是如何使用它的.

!!!!

  • 第1步--->>>> 在类的前面要声明IB_DESIGNABLE这么一个宏,大概意思是说可用于IB设计什么的
  • 第2步 ---->>>> 在自己声明属性的时加IBInspectable这个宏来修饰,然后在IB控制面板里就可以看到该属性的设值的一个操作栏了.
  • 第3步 ----->>>> 实现属性的setter方法,不然在IB操作里怎么修改都是徒劳.

#import 


typedef NS_ENUM(NSInteger,WGBCustomButtonType){
    WGBCustomButtonTypeImageTop = 0,
    WGBCustomButtonTypeTitleTop,
    WGBCustomButtonTypeImageLeft,
    WGBCustomButtonTypeTitleLeft,
} ;

IB_DESIGNABLE
@interface WGBCustomButton : UIButton
/** 需要特殊说明一下 枚举类型并不支持IB  所以直接搞成NSInteger类型的*/
@property (nonatomic,assign) IBInspectable NSInteger myButtonType;
@property (nonatomic,assign) IBInspectable CGFloat   borderWidth;
@property (nonatomic,strong) IBInspectable  UIColor * borderColor;
@property (nonatomic,assign) IBInspectable  BOOL isRadius;
@property (nonatomic,assign) IBInspectable CGFloat  radius;
@property (nonatomic,strong) IBInspectable  UIColor *bgColor;

@end
这个可视化设置IB属性的方法也是有一定的局限性的,它所支持的类型有UIColor BOOL NSNumber CGFloat NSString CGRect CGPoint CGSize UImage NSRange NSLocalizedString NSNull 就这么几种.

这个IB里设置属性后,切换到User Defined Runtime Attributes这一栏,即可看到你在IB所设置的自定义的属性,问其底层实现原理如何如何的,水平有限,我才不去钻这牛角...

点我! 即来Demo一份

你可能感兴趣的:(关于IB的一些可视化设置属性的技巧)