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

时间:2015-07-16 20:07:23

标签: ios xcode interface-builder ibdesignable ibinspectable

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

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

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

当声明这样的属性时,我可以选择在Interface Builder>中设置该颜色。属性检查器,这是预期的。但是,当我设置颜色时,_backgroundColor的值在运行时为零。

[_labelLoginBackground setBackgroundColor:_backgroundColor];

有人可以澄清这里会发生什么吗?谢谢!

1 个答案:

答案 0 :(得分:1)

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

  1. 重命名自己的" backgroundColor"属性为" loginBackgroundColor"并从那里开始调试。
    1. 不要创建冗余属性。在添加IBInspectable之前,使用Interface Builder中已存在的选择小部件设置背景颜色。
    2. enter image description here