究竟啥是超级视图?
Posted
技术标签:
【中文标题】究竟啥是超级视图?【英文标题】:What exactly is a superview?究竟什么是超级视图? 【发布时间】:2017-06-02 11:12:18 【问题描述】:如果我有三个 UIView,A、B 和 C。C 是 B 的子视图。B 是 A 的子视图。
B 是 C 的父视图,还是 A 是 C 的父视图?
这是一个正确的说法吗?超级视图是不是子视图的任何视图?
谢谢。
【问题讨论】:
你没有表现出任何努力。谷歌搜索“Swift what is a SuperView”给了我你问题的确切答案。 我让她参加有关这方面的视频课程,所以我不确定如何证明自己的努力,特别是考虑到我对该问题的搜索没有任何结果。 【参考方案1】:不,A是B的父视图,B是C的父视图
viewA.addSubview(viewB)
viewB.addSubview(viewC)
【讨论】:
非常感谢!【参考方案2】:您可以使用superview
property:
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
【讨论】:
以上是关于究竟啥是超级视图?的主要内容,如果未能解决你的问题,请参考以下文章