zoukankan      html  css  js  c++  java
  • swift一次 Attempt to present on whose view is not in the window hierarchy的解决方法

    做的是二维码扫描,扫描后识别为URL的话就跳转到webview 加载网页,用的是代理传值的方式。扫描到了 值传递到主页 扫描窗体退出,检测值是否是http://开头 是网页就跳转。

    问题出在传值到主界面后判断网页链接再跳转的时候 出现Attempt to present on whose view is not in the window hierarchy的错误,也就是传值回去的时候主视图还没打开又要打开浏览视图 然后就乱掉了 不知道要打开啥了。


    尝试诸多方法之后找到以下方法:

    在扫描结果之后 先跳转到主页,这个时候还没回传结果。
    因为是跳过来的 所以用dismiss退回去

     self.dismissViewControllerAnimated(true, completion:nil)
    

    然后,重写生命周期中的方法:viewDidDisappear 也就是在视图已经消失、被覆盖或是隐藏时再把值传递过去

        override func viewDidDisappear(animated: Bool) {
            self.scanDelegate.didReturnScanResult(scanResultValue!);
        }
    

    这样就可以了。

  • 相关阅读:
    CentOS 7 Docker基本特性
    linux go环境安装
    Docker部署Golang
    高可用Redis服务架构分析与搭建
    linux常用基本命令
    docker容器
    Linux 配置网络连接
    自定义泛型委托对象
    sql游标使用
    CSS 实用实例
  • 原文地址:https://www.cnblogs.com/yesicoo/p/5210398.html
Copyright © 2011-2022 走看看