在 Swift 中使用 IBInspectable

前言
通过 IB 设置 控件 的属性非常的方便。

但是缺点也很明显,那就是有一些属性没有暴露在 IB 的设置面板中。这时候就要使用 @IBInspectable 在 IB 面板中添加这些没有的属性。
关于在 OC 中使用 IBInspectable 可以看一下我的 这篇文章
正文
在项目中最常遇到的情况是为 view 设置圆角、描边,以及为 文本控件 添加本地化字符串。
圆角、描边
先来看看设置圆角、描边
折叠代码块SWIFT
复制代码
1 | extension UIView { |
添加完成就可以在 IB 中设置 view 的这些属性了

运行效果

利用 @IBDesignable 在 IB 中实时显示 @IBInspectable 的样式
创建一个新的 class 继承 UIView ,并且使用 @IBDesignable 声明
折叠代码块SWIFT
复制代码
1 | import UIKit |
在 IB 中,选择 view 的 class 为 我们新建的 IBDesignableView

这样在 IB 调整属性时,这些属性的变化就会实时显示在 IB 中。
本地化字符串
本地化字符串的解决方法和上面的添加圆角一样
折叠代码块SWIFT
复制代码
1 | extension UILabel { |
这样,在 IB 中我们就可以利用对应类型的 Localized Key 来直接设置本地化字符串了:

结语
IBInspectable 可以使用这些的类型
IntCGFloatDoubleStringBoolCGPointCGSizeCGRectUIColorUIImage
合理的使用@IBInspectable 能减少很多的模板代码,提高我们的开发效率。
参考
- 本文标题:在 Swift 中使用 IBInspectable
- 创建时间:2017-05-05 00:00:00
- 本文链接:https://netlify.076666.xyz/posts/e502
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
复制版权信息