美文网首页iOS开发iOS Developer
UI/WKWebView input file标签dismiss

UI/WKWebView input file标签dismiss

作者: 波波熊洛夫 | 来源:发表于2017-08-16 11:26 被阅读121次

iOS WebView 用<input type=file>标签打开系统相册会出现dismiss掉当前视图的bug,这是因为点击系统弹出的alertController时,会多次调用dismiss(不知原因)。如果WebView自己或者根视图是通过present出来的,则会被dismiss掉,而用navigation push出来的则没有问题。

解决办法

  1. 不使用present方式展示WebView
  2. 用自定义navigation套着WebView,然后override dismiss方法
class WebViewNavigationController: UINavigationController {
    override func dismiss(animated flag: Bool, completion: (() -> Void)? = nil) {
        // fix webview input-file dismiss-twice bug
        if let _ = self.presentedViewController {
            super.dismiss(animated: flag, completion: completion)
        }
    }
}

let webViewController
let nav = WebViewNavigationController(rootViewController: webViewController)
self.present(nav, animated: true, completion: nil)

Read more

相关文章

网友评论

    本文标题:UI/WKWebView input file标签dismiss

    本文链接:https://www.haomeiwen.com/subject/wifirxtx.html