我如何获取当前当前self
,UIView
的grand gran父 View ,当前我正在使用self.superview?.superview?.superview?.superview?.superview?.superview?
看起来有点怪异,而不是使用上述语法来获取主要的UIView
,是他们的其他任何方式,否则我该如何防止使用guard
进行此可选链接?
最佳答案
您可以将guard
与返回可选参数的方法一起使用(我假设您是从UIView自定义类调用此函数的)。
private func outerMostParent(view:UIView)-> UIView? {
guard let parent = superview?.superview?.superview?.superview?.superview?.superview
else{
return nil
}
return parent
}
然后你可以做
self.outerMostParent(self)?.addSubview(yourSubview)
关于ios - 如何获取最外面的父UIView容器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34328845/