视图不在窗口层次结构错误中

Posted

技术标签:

【中文标题】视图不在窗口层次结构错误中【英文标题】:View is not in the Window Hierarchy Error 【发布时间】:2017-04-14 08:52:17 【问题描述】:

我遇到了一个错误,我的视图控制器在尝试上传文件时被关闭。

基本上,问题在于我有一个加载网站的 WKWebView。在这个网站中,有一个需要图片的“上传文件”按钮。然后屏幕继续显示使用相机/照片库的选项。

我尝试添加所有相应的 pList 隐私设置,但是当单击“上传文件”按钮时,视图控制器(通过推送显示)返回主屏幕并给我以下错误:

警告:尝试在视图不在窗口层次结构中的 UINavigationController 上呈现 UIImagePickerController!

这是我的代码

导入 UIKit 导入 WebKit

类 BizOwnerVC: UIViewController, WKUIDelegate

var NewWebView: WKWebView!

override func loadView() 
    let webConfiguration = WKWebViewConfiguration()
    NewWebView = WKWebView(frame: .zero, configuration: webConfiguration)
    NewWebView.uiDelegate = self
    view = NewWebView


override func viewDidLoad() 
    super.viewDidLoad()

    let myURL = URL(string: "https://cdlcheck.knack.com/dl-check#logged-in/")
    let myRequest = URLRequest(url: myURL!)
    NewWebView.load(myRequest)

【问题讨论】:

目前没有代码 @Anbu.Karthik 代码现已出现! 但这是错误尝试在其视图不在窗口层次结构中的 UINavigationController 上呈现 UIImagePickerController! 是的,我不知道为什么要尝试不同的东西 显示你的参考代码 【参考方案1】:

将以下代码添加到包含 Web 视图的视图控制器:

override func dismissViewControllerAnimated(flag: Bool, completion: (() -> Void)?) 

    if self.presentedViewController != nil 
        super.dismissViewControllerAnimated(flag, completion: completion)
    

【讨论】:

仍然给了我同样的错误,但感谢您的建议! 您使用的是哪个 ios 版本,是模拟器还是设备? iOS 10,我遇到了同样的问题 如何呈现包含 webview 的视图控制器。以模态方式呈现。

以上是关于视图不在窗口层次结构错误中的主要内容,如果未能解决你的问题,请参考以下文章

如何解决此错误“警告:尝试呈现其视图不在窗口层次结构中”?

Swift 错误:“...其视图不在窗口层次结构中。”与标识符进行对等

swift 3 present from appdelegate 错误:警告:尝试显示〜其视图不在窗口层次结构中

Swift 3 尝试呈现其视图不在窗口层次结构中

警告:尝试呈现不在窗口层次结构中的视图!在 UISearchController

尝试在其视图不在窗口层次结构中的 UIViewController 上呈现 UIViewController