用户定义的运行时属性是否仅适用于自定义类?

时间:2014-01-06 06:27:15

标签: ios iphone objective-c xcode

我正在使用storyboard,其中有5个视图控制器。每个ViewController只有1个UIButton。我想使用用户定义的运行时属性设置按钮的背景颜色。所以我定义了一个keyPath“bgColor”并设置了相应的十六进制颜色代码“#ffaa11”。但是在加载视图之前应用程序崩溃了。它给出了例外:

[<UIRoundedRectButton 0x713fdb0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key bgColor.

我不想创建自定义类。请建议我如何通过IB进行paas值。请检查快照。

注意:实际上,我的要求是获取已在Interface Builder中输入的字符串值。与用户定义的运行时属性非常相似。我举了两个bg颜色的例子。

enter image description here

2 个答案:

答案 0 :(得分:0)

为什么要使用用户定义的运行时属性?切换到属性检查器并从那里选择按钮的背景。

screenshot

答案 1 :(得分:0)

首先是第一件事。

显然它崩溃了。因为按钮上没有bgColor属性。因此,当您尝试将其设置为button.bgColor = #yourValue时。它崩溃了。

如果您使用的是ios7,请尝试设置按钮的tintColor属性。对于样式,请查看tintAdjustmentMode个值。

之后。如果它仍然无法解决您的问题。我们将讨论其他内容:):)

欢呼声。玩得开心。