如何获取当前self
UIView
的格兰德父视图,目前我正在使用self.superview?.superview?.superview?.superview?.superview?.superview?
它看起来有点奇怪,而不是使用上面的语法是他们的任何其他方式来获得主UIView
否则如何使用guard
阻止此可选链接?
答案 0 :(得分:3)
您可以将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)