Given a view, how do I get its viewController?

后端 未结 13 750
北海茫月
北海茫月 2020-11-28 02:00

I have a pointer to a UIView. How do I access its UIViewController? [self superview] is another UIView, but not the

13条回答
  •  囚心锁ツ
    2020-11-28 02:48

    @andrey answer in one line (tested in Swift 4.1):

    extension UIResponder {
        public var parentViewController: UIViewController? {
            return next as? UIViewController ?? next?.parentViewController
        }
    }
    

    usage:

     let vc: UIViewController = view.parentViewController
    

提交回复
热议问题