如果我有三个UIViews,A,B和C. C是B的子视图.B是A的子视图。
B是C的超级视图,还是C的超级视图?
这是正确的陈述吗? superview是不是子视图的任何视图吗?
感谢。
答案 0 :(得分:0)
不,A是B的超级视图,B是C的超级视图
viewA.addSubview(viewB)
viewB.addSubview(viewC)
答案 1 :(得分:0)
您可以使用superview
属性找到它:
class MyView: UIView {
var me = ""
func printMe() {
print("I am \(me)")
}
init(me: String) {
self.me = me
super.init(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
let viewA = MyView(me: "A")
let viewB = MyView(me: "B")
let viewC = MyView(me: "C")
viewA.addSubview(viewB)
viewB.addSubview(viewC)
let superviewOfB = viewB.superview as! MyView
let superviewOfC = viewC.superview as! MyView
superviewOfB.printMe()
superviewOfC.printMe()
打印:
我是A
我是B