iOS 热重载(storyboard/xib 控件可视化开发 )
热重载的意义
写 UI 布局时,会花费大量时间,而往往改动一个属性就要重新编译运行看效果,编译所花费的时间是巨大的,这些耗时都是无意义的,所以如果 Xcode 可以立马刷新我们的 UI 代码,是很有意义的。而热重载就是一种解决方案
IBInspectable 关键字
将属性用 IBInspectable 关键字修饰可以让该属性在 xib/storyboard 中可见,具体功能实现只要重写 setter 方法即可
OC 版本:
@property (nonatomic, assign) IBInspectable CGFloat radius;
- (void)setRadius:(CGFloat)radius {
self.layer.cornerRadius = radius;
self.clipsToBounds = radius;
}
swift 版本:
@IBInspectable var radius: CGFloat = 0 {
didSet {
layer.cornerRadius = radius
clipsToBounds = radius == 0 ? false : true
}
}
@IBInspectab

本文探讨了iOS开发中的热重载技术,旨在提高UI布局调整的效率。通过介绍IBInspectable关键字和IB_DESIGNABLE/IBDesignable的使用,阐述如何实现Xcode中storyboard和xib控件的可视化即时更新。同时,讲解了drawRect方法在热重载中的作用,以及在代码编写时借助Injection实现的热重载方法。
最低0.47元/天 解锁文章
1620

被折叠的 条评论
为什么被折叠?



