【发布时间】:2019-07-23 09:05:59
【问题描述】:
我可能太复杂了,但这就是我想要的:
@IBDesignable
class A: UIView {
@IBInspectable var title: String = "" {
didSet {
setNeedsLayout()
}
}
}
@IBDesignable
class B: UIView {
var firstView: A = A()
var secondView: A = A()
}
B 类有 2 个 @IBDesignable 类,所以如果我想直接在 Interface Builder 中自定义 B,我不能,因为我无权访问 2 个 A 类。
起初我创建了一个协议来列出 A 类中的所有元素,但是当一个视图需要 A 类的 2 项或更多项时,我不能使用它。
是否有人认为我的故事板中只有 1 个 B 类并且可以自定义两个 A 类?
【问题讨论】:
-
不太确定,但您认为将这些变量设为公开可能会有所帮助。我会尝试通过编码来检查它。
-
我尝试了很多事情以防万一发生了一些神奇的事情,但没有。只需再次检查,“显示属性检查器”选项卡仍然没有自定义 @IBInspectable。
-
给 B 可检查的属性,例如firstViewTitle 和 secondViewTitle。
-
@matt 我的主要问题是,如果明天我将 IBInspectable titleColor 添加到 A 类,我没有什么可以阻止我不要忘记将 2 IBInspectable var 添加到 B 类。
-
太糟糕了。如果您在情节提要中看不到 A,则无需检查。你只能检查你能看到的。
标签: ios swift xcode ibdesignable ibinspectable