2017-06-02 80 views
-6

如果我有三个UIViews,A,B和C. C是B的子视图。B是A的子视图。什么是超级景观?

B是C的超级视图还是A的超级视图?

这是正确的说法吗?超视图是不是子视图的任何视图?

谢谢。

+0

您没有显示任何帮助。谷歌搜索“Swift是一个超级视图”给了我你的问题的确切答案。 –

+0

我坐在她的视频课程上,所以我不确定我怎么能证明我的努力,尤其是考虑到我对这个问题的搜索没有任何结果。 –

回答

0

不,A是B的上海华,和B是C^

viewA.addSubview(viewB)  
viewB.addSubview(viewC) 
+0

非常感谢! –

0

SuperView把你可以发现这一点使用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