Swift 获取view所在的ViewController

Posted 小炮陈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 获取view所在的ViewController相关的知识,希望对你有一定的参考价值。

 

 

//uiview的扩展

extension UIView{

    func getFirstViewController()->UIViewController?{

        for view in sequence(first: self.superview, next: {$0?.superview}){

            if let responder = view?.next{

                if responder.isKind(of: UIViewController.self){

                    return responder as? UIViewController

                }

            }

        }

        return nil

       

    }

}

 

 

 

    

    override func viewDidLoad() {

        super.viewDidLoad()

        //调用

        let mView = UIView(frame: CGRect(origin: CGPoint.zero, size:CGSize(width: 100, height: 100)))

        mView.backgroundColor = UIColor.red

        self.view.addSubview(mView)

        

        //获取mView的ViewController

        let vc = mView.getFirstViewController()

    }

以上是关于Swift 获取view所在的ViewController的主要内容,如果未能解决你的问题,请参考以下文章

Swift中自定义打印方法

Swift 通过touchesBegan 方法获取用户点击的view,模拟连续点击效果

View Controller 显示黑屏而不是从 Firebase 数据库 Swift iOS 中获取用户

swift学习:自定义Log

Swift如何取得View所属的ViewController

iOS view和viewController的生命周期