如何在Xib,Storyboard中添加自定义属性

在xib,storyboard中有固定的属性可以设置例如


image.png

但是很多时候我们有自己定义的属性,比如国际化,我们的text不是固定的,而是一个key,这个时候如何设置呢?

方法1

通过"连线"的方式,拖拽到代码文件中,使用代码设置


image.png

方法2

上述方法虽然可以解决问题,但是每一个控件都要拖拽到代码里显然不是一个最优的方法,比如我们对某一个类同意添加属性(比如国际化,我们需要对UILabel类整体添加设置key的方法)
推荐方案:@IBInspectable可以将属性(准确来说是计算属性)直接添加到xib的配置项中
Swift

extension UILabel {
    @IBInspectable public var localizedKey: String? {
        get {
            return ""
        }
        set {
            text = newValue
        }
    }
}

通过扩展UILabel,添加用@IBInspectable修饰的计算属性localizedKey,我们就可以实现在xib中配置我们的localizedKey

image.png

如此一来我们就可以完美的解决xib文案的国际化问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容