Objective-C(Swift) IBDesignable/IBInspectable
2016-04-07 15:58
489 查看
iOS8新特性IBDesignable/IBInspectable,利用运行时机制,可以把属性映射到XIB上了,同时我们UI类的自定义属性也可以映射上去,可以直接在XIB或者Storyboard中设置UI类的属性。
Objective-C实例:
.h中代码如下
.m中代码:
在xib中拖入一个View,设置class为ZWView,设置完后便可以在xib中看到三个属性值
![](http://img.blog.csdn.net/20160407155214322)
设置三个属性值后,效果如下:
![](http://img.blog.csdn.net/20160407155328557)
在xib中拖入View,设置class和属性值
![](http://img.blog.csdn.net/20160407155629214)
效果如下:
Objective-C实例:
.h中代码如下
@interface ZWView : UIView @property (nonatomic, assign)IBInspectable CGFloat cornerRadius; @property (nonatomic, assign)IBInspectable CGFloat bwidth; @property (nonatomic, assign)IBInspectable UIColor *bcolor; @end
.m中代码:
#import "ZWView.h" IB_DESIGNABLE @implementation ZWView - (void)setCornerRadius:(CGFloat)cornerRadius{ _cornerRadius = cornerRadius; self.layer.cornerRadius = _cornerRadius; self.layer.masksToBounds = YES; } - (void)setBcolor:(UIColor *)bcolor{ _bcolor = bcolor; self.layer.borderColor = _bcolor.CGColor; } - (void)setBwidth:(CGFloat)bwidth { _bwidth = bwidth; self.layer.borderWidth = _bwidth; } -(void)drawRect:(CGRect)rect{ NSString *drawString = @"www.baidu.com"; [drawString drawInRect:CGRectMake(20, 20, 180, 30) withFont:[UIFont systemFontOfSize:12.0]]; } @end
在xib中拖入一个View,设置class为ZWView,设置完后便可以在xib中看到三个属性值
设置三个属性值后,效果如下:
Swift实例:
同样创建一个ZWView,代码如下:import UIKit @IBDesignable class zwView: UIView { @IBInspectable var cornerRadius:CGFloat = 0.0 { didSet{ layer.cornerRadius = cornerRadius layer.masksToBounds = true } } @IBInspectable var borderColor:UIColor = UIColor(){ didSet{ layer.borderColor = borderColor.CGColor } } @IBInspectable var borderWith :CGFloat = 0.0{ didSet{ layer.borderWidth = borderWith } } }
在xib中拖入View,设置class和属性值
效果如下:
相关文章推荐
- Object C学习笔记16-委托(delegate)
- 3、Object对象的两大方法(hashCode-equals)总结
- 【Objective-C】04-第一个OC程序解析
- objective-c 输出格式符
- Objective-C NSString 操作
- python3学习笔记1--TypeError: 'dict' object is not callable的解决
- ES5规范之Object增强
- Objective-c MRC内存管理-野指针
- JSONObject put,accumulate,element的区别
- Objective-c 内存管理-僵尸对象
- Objective-c 内存管理-内存泄漏
- Objective-C 对 URL 进展 URLEncode 编码
- AutoCAD中ObjectARX C++常用的方法
- Gson基本操作,JsonObject,JsonArray,String,JavaBean,List互转
- 重构13天 抽取方法对象(Extract Method Object)
- JSONObject与JSONArray的使用
- Object-c 构造方法(初始化方法)
- JavaScript Object.prototype.toString 解析过程
- Objective-C的hook方案(一): Method Swizzling
- Objective-C 语言特性