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!);
        }
    

    这样就可以了。

  • 相关阅读:
    struts2知识系统整理
    JavaScript onload
    百度云如何为用户分配内存空间
    集合运算
    [hdu3530]单调队列
    [hdu4911]逆序对相关
    [hdu5199]统计数据的水题
    [hdu5200]离线+标记
    [hdu5204]水题
    [hdu5203]计数水题
  • 原文地址:https://www.cnblogs.com/yesicoo/p/5210398.html
Copyright © 2011-2022 走看看