1

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

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

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

像这样声明属性时,我可以选择在 Interface Builder > Attributes Inspector 中设置该颜色,这是意料之中的。但是,当我设置颜色时,_backgroundColor运行时的值为 nil。

[_labelLoginBackground setBackgroundColor:_backgroundColor];

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

4

1 回答 1

1

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

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

或者

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

在此处输入图像描述

于 2016-01-24T20:52:49.350 回答