IOS开发中,有些人喜欢使用xib来进行项目的开发,使用xib可以使界面可视化,很多控件的属性设置都可以在 xib 中设置,减少了代码量;同时不用一遍遍的运行程序看效果,同时在后期需求,界面更改的时候,可视化的开发会大大提高开发效率。
当我们自定义的一些控件中添加了一些自定义的属性时,我们又想在xib中直接设置自定义属性值,这个时候我们就需要用到这两个宏了:IB_DESIGNABLE、IBInspectable
下面我们来看看如何使用这两个宏
自定义一个按钮控件,添加一个cornerRadius属性用来设置按钮的圆角
#import <UIKit/UIKit.h>
/**
* 这个宏定义的作用是可以通过keypath动态看到效果,实时性,不过还是需要通过在keypath中输入相关属性来设置
*/
IB_DESIGNABLE
@interface CustomButton : UIButton
@property (nonatomic, assign) IBInspectable CGFloat cornerRadius;
@end
#import "CustomButton.h"
@implementation CustomButton
- (void)setCornerRadius:(CGFloat)cornerRadius
{
_cornerRadius = cornerRadius;
self.layer.cornerRadius = cornerRadius;
self.layer.masksToBounds = YES;
}
@end
现在我们来看一看使用效果
从上面可以看到,我们可以在xib中直接编辑自定义的属性,并能看到设置完属性后的效果,是不是很给力!
如有疑问,欢迎评论交流!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)