所以我正在实现一个自定义的"选择器"工具栏,类似于iOS中单选按钮集(
为此,我创建了一个名为
所以我发现了这个神奇的东西叫做“用户定义的运行时属性”。我创建了一个带有键
当我运行应用程序时,出现了关于“键值编码合规性”的错误。
所以我查找了一下,发现该类必须具有支持变量来存储属性。好吧,我添加了一个名为
我想确切地知道我必须做什么才能使其正常工作,以及每个步骤的详细信息。
UISegmentedControl
)。只是一个水平条分为几个选项。为此,我创建了一个名为
SegmentedControl
的UIControl
子类,并实现了自定义绘制。但是,对于这种视图,我需要设置可用选项的选项。我可以从控制器的viewDidLoad()
中访问视图并在那里设置它们,但我喜欢使用接口生成器进行这种操作。所以我发现了这个神奇的东西叫做“用户定义的运行时属性”。我创建了一个带有键
buttonValues
的String
属性,并设置了一个值(这是一个简单的男/女选择器,所以我选择了“Male|Female”)。我发现您可以使用函数self.valueForKey()
并传入键来访问这些值。我编写了一个解析器将该字符串转换为数组,然后添加了功能,使drawRect()
函数使用该数组设置按钮。当我运行应用程序时,出现了关于“键值编码合规性”的错误。
所以我查找了一下,发现该类必须具有支持变量来存储属性。好吧,我添加了一个名为
buttonValues
的实例变量,并将其初始化为""
。现在应用程序正常运行,但值从self.valueForKey()
函数中为空。我查找了有关如何设置用户定义的运行时属性的教程,但它们没有提供足够的详细信息。他们谈论Key Value Coding-compliance就好像这是我应该知道的东西。我想确切地知道我必须做什么才能使其正常工作,以及每个步骤的详细信息。
IB_DESIGNABLE
和IBInspectable
来公开具有适当 UI 的属性。更多信息请参见此处。 - Zev Eisenberg在 (MyApp.ViewController) 上无法设置 (url) 用户定义的检查属性: [<MyApp.ViewController 0x7f813620a591> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key url.
- taber