警告:尝试显示不在窗口层次结构中的视图!迅速
Posted
技术标签:
【中文标题】警告:尝试显示不在窗口层次结构中的视图!迅速【英文标题】:Warning: Attempt to present whose view is not in the window hierarchy! swift 【发布时间】:2017-04-17 14:44:44 【问题描述】:我需要有关 UIWebView 的帮助,因此用户单击“登录”并打开一个网页以输入用户名,并调用下面的代码来更改控制器:
let tela = self.storyboard?.instantiateViewController(withIdentifier: "TabPrincipal") as! TabPrincipalViewController
tela.modalTransitionStyle = .crossDissolve
self.present(tela, animated: true, completion: nil)
一旦我点击退出并再次使用同一段代码,它会显示
警告:尝试显示不在窗口层次结构中的视图!
谁能帮帮我?
【问题讨论】:
你的注销代码是什么样的,即它对主窗口的rootViewController
有什么作用?
你好@NRitH,在“LogoutViewController.swift”中,我正在发出警告,如果“是”,它会再次显示登录选项页面,如果不是,不要做任何事情。此注销代码适用于我拥有的其他登录选项......它不适用于我使用linkedin oauth2如果用户没有安装应用程序打开网页的这个选项。
【参考方案1】:
试试这个注销按钮
self.dismiss(动画:真,完成:无)
【讨论】:
你好@Manvir Singh,在“LogoutViewController.swift”中我正在发出警告,如果“是”,它会再次显示登录选项页面,如果不是,不要做任何事情。此注销代码适用于我拥有的其他登录选项......它不适用于我使用linkedin oauth2如果用户没有安装应用程序打开网页的这个选项。【参考方案2】:如果您呈现视图控制器,则使用此关闭视图控制器代码
self.dismissViewControllerAnimated(true, completion: );
如果您使用导航控制器导航视图控制器,则使用此弹出视图控制器代码
self.navigationController?.popViewControllerAnimated(true);
【讨论】:
以上是关于警告:尝试显示不在窗口层次结构中的视图!迅速的主要内容,如果未能解决你的问题,请参考以下文章
警告:尝试在视图不在窗口层次结构中的 <App name:> 上显示 <UIAlertController:>
警告:尝试在其视图不在窗口层次结构中的 * 上呈现 * - swift
警告:尝试呈现不在窗口层次结构中的视图!在 UISearchController
警告“尝试呈现视图不在窗口层次结构中的 ViewController - Objective C
警告:尝试在视图不在窗口层次结构中的 **.ViewController 上呈现 ZMNavigationController