【发布时间】:2015-09-09 17:00:26
【问题描述】:
我在自定义视图上创建了一个@IBDesignable 来设置来自 IB 的属性。但是我得到这个类是不符合键值编码的,尽管我的类中有这个属性。
@IBDesignable class ExclusiveSelectorView: UIView {
@IBInspectable var cellWidth: CGFloat?
}
无法在 (Test.ExclusiveSelectorView) 上设置 (cellWidth) 用户定义的检查属性:[ setValue:forUndefinedKey:]:此类与键 cellWidth 的键值编码不兼容。
【问题讨论】:
-
显示自定义类位的屏幕截图,是视图还是文件所有者?
-
您可能需要为变量显式定义 setter 和 getter 方法,查看此站点 nshipster.com/ibinspectable-ibdesignable
-
似乎如果我在没有设置器/获取器的情况下保留默认值也可以,所以我会保持这种方式!所以基本上@IBInspectable var cellWidth: CGFloat = 0 而不是可选的。
-
也可以试试
@IBInspectable var cellWidth: CGFloat!,但如果没坏就不要修了。