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

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

!!!!

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

#import <UIKit/UIKit.h>


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一份

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,025评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,913评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,959评论 6 13
  • 2016年6月6日,明天就是全国高考。我突然想到了2013年6月7号的考试,说实在的,没有很深刻的印象,唯一还记得...
    T无厘头阅读 2,953评论 1 3
  • 岁月是否静好? 你并不知晓。 它似依偎的怀抱: 你好,我就好! 时而的吵吵闹闹; 时而的说说笑笑; 时而的纷纷扰扰...
    小蜗牛忧忧阅读 3,180评论 0 1

友情链接更多精彩内容