IBInspectable 属性 在设计时设置不保持值

IBInspectable property set at design time not keeping value

我们正在将 IBInspectable 实施到一个大型应用程序中,希望允许在 Interface Builder 中设置一些设置以减少我们视图中的代码量。我对 IBInspectable/IBDesignable 没有太多经验,正在寻找一些答案 and/or 澄清我做错了什么。

我在 UITableViewCell 子类中声明了一个 属性 如下:

@property (nonatomic,strong) IBInspectable UIColor* backgroundColor;

像这样声明 属性 时,我可以在界面生成器 > 属性检查器中获得设置该颜色的选项,这是可以预料的。但是,当我设置颜色时,_backgroundColor 的值在运行时为 nil。

[_labelLoginBackground setBackgroundColor:_backgroundColor];

有人可以澄清这里可能发生的事情吗?谢谢!

UITableViewCell 是 UIView 的子类,其中已经包含一个名为 "backgroundColor" 的 属性。执行以下操作之一:

  1. 将您自己的 "backgroundColor" 属性 重命名为 "loginBackgroundColor" 并从那里开始调试。

  1. 不要创建冗余 属性。在添加 IBInspectable 之前,使用 Interface Builder 中已经存在的选择小部件设置背景颜色。