接口生成器以级联方式显示所有@IBInspectable

时间:2019-03-01 10:35:48

标签: ios swift xcode ibdesignable ibinspectable

我可能太复杂了,但这是我想要的:

@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类中的所有元素,但是当视图需要2个或更多A类项时,我将无法使用它。

有人想到我的故事板上只有1个B类,并且可以自定义这两个A类吗?

1 个答案:

答案 0 :(得分:0)

不太确定这是否可行。即使使用Apple Library类,例如通常UIButton既有UIView也有UILabel,通常这是不可能的。

尽管这些不同的类和某些事情可以通过解释here

来覆盖

但是我可以在这里为您提供一些技巧。在为情节提要中的对象B创建的对象中,可以如下添加User Defined Runtime Attributes-

firstView.titlesecondView.title

我知道这可能不是您要找的答案,但这仅是一种解决方法。