Get to UIViewController from UIView?

前端 未结 29 2097
一整个雨季
一整个雨季 2020-11-22 16:57

Is there a built-in way to get from a UIView to its UIViewController? I know you can get from UIViewController to its UIView

29条回答
  •  再見小時候
    2020-11-22 17:32

    Updated version for swift 4 : Thanks for @Phil_M and @paul-slm

    static func firstAvailableUIViewController(fromResponder responder: UIResponder) -> UIViewController? {
        func traverseResponderChainForUIViewController(responder: UIResponder) -> UIViewController? {
            if let nextResponder = responder.next {
                if let nextResp = nextResponder as? UIViewController {
                    return nextResp
                } else {
                    return traverseResponderChainForUIViewController(responder: nextResponder)
                }
            }
            return nil
        }
    
        return traverseResponderChainForUIViewController(responder: responder)
    }
    

提交回复
热议问题