【问题标题】: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如果用户没有安装应用程序打开网页的这个选项。

标签: ios iphone swift storyboard


【解决方案1】:

试试这个注销按钮

self.dismiss(动画:真,完成:无)

【讨论】:

  • 你好@Manvir Singh,在“LogoutViewController.swift”中我正在发出警告,如果“是”,它会再次显示登录选项页面,如果不是,不要做任何事情。此注销代码适用于我拥有的其他登录选项......它不适用于我使用linkedin oauth2如果用户没有安装应用程序打开网页的这个选项。
【解决方案2】:

如果您呈现视图控制器,则使用此关闭视图控制器代码

self.dismissViewControllerAnimated(true, completion: {});

如果您使用导航控制器导航视图控制器,则使用此弹出视图控制器代码

self.navigationController?.popViewControllerAnimated(true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2019-12-03
    相关资源
    最近更新 更多