我如何获取当前当前selfUIView的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/

10-12 14:46