我们正在将 IBInspectable 实现到一个大型应用程序中,希望允许在 Interface Builder 中设置一些设置以减少我们 View 中的代码量。我对 IBInspectable/IBDesignable 没有太多经验,正在寻找一些答案和/或澄清我做错了什么。
我在 UITableViewCell 子类中声明了一个属性,如下所示:
@property (nonatomic,strong) IBInspectable UIColor* backgroundColor;
当像这样声明属性时,我可以选择在 Interface Builder > Attributes Inspector 中设置该颜色,这是意料之中的。但是,当我设置颜色时,_backgroundColor
的值在运行时为 nil。
[_labelLoginBackground setBackgroundColor:_backgroundColor];
有人可以澄清这里可能发生的事情吗?谢谢!
最佳答案
UITableViewCell 是 UIView 的子类,它已经包含一个名为“backgroundColor”的属性。执行以下操作之一:
- 将您自己的“backgroundColor”属性重命名为“loginBackgroundColor”并从那里开始调试。
或
- 不要创建多余的属性。在添加 IBInspectable 之前,使用已存在于 Interface Builder 中的选择小部件设置背景颜色。
关于ios - 在设计时设置的 IBInspectable 属性不保持值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463581/