尝试呈现一个 UIViewController,其视图不在窗口层次结构中

2024-01-19

我有一个具有以下层次结构的多视图应用程序:

启动 -> 导航控制器 -> 表视图控制器 -> 设置视图控制器

Splash 是应用程序入口点,因此成为根视图控制器。当我尝试通过设置视图控制器上的操作将图块添加到带区时,我收到调试器警告:

application[1929:1000746] 警告:尝试在 上呈现 ,其视图不在窗口层次结构中!

这会在调用后立即发生MSBClient.tileManager addTile:completionHandler:。该调用永远不会返回,不会生成任何错误。

关于如何解决这个问题有什么建议吗?


您将需要获取根视图控制器并从该视图控制器执行 Segue。这对于调试来说可能非常令人沮丧,但是这里有一些关于这个主题的答案。

这是我用来在应用程序收到推送通知时执行从根视图控制器到屏幕的一些代码。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboard" bundle:nil];

YourViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"viewcontrolleridentifier"];

UIViewController *top = [UIApplication sharedApplication].keyWindow.rootViewController;

[top presentViewController:viewController animated:YES completion: nil];

下面是 swift 中的相同代码:

let storyboard = UIStoryboard.init(name: "YourStoryboard", bundle: nil)

let viewController = storyboard.instantiateViewController(withIdentifier: "viewcontrolleridentifier")

let top = UIApplication.shared.keyWindow?.rootViewController

top?.present(viewController, animated: true, completion: nil)

确保在故事板中设置视图控制器标识符。

编辑*如果您正在访问的视图控制器嵌入在导航控制器中,您将需要修改上面的代码,

目标C:

UIViewController *top = [self topMostController];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];

[top presentViewController:navigationController animated:YES completion: nil];

Swift:

let top = UIApplication.shared.keyWindow?.rootViewController

let navigationController = UINavigationController.init(rootViewController: viewController)

top?.present(navigationController, animated: true, completion: nil)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试呈现一个 UIViewController,其视图不在窗口层次结构中 的相关文章

随机推荐

  • 正则表达式如果捕获组匹配字符串

    我需要构建一个简单的脚本来连接罗马尼亚语单词 我见过几个 他们没有正确执行规则 var words arta codru 规则 如果 2 个辅音位于 2 个元音之间 则它们会在音节之间分开 除非它们属于此数组 在这种情况下 两个辅音都会移动
  • 了解 Ubuntu 中不同对象的相同 inode 编号

    为什么 cdrom 的 inode 号与 cdrom 的 inode 号相同 sys devices platform power在Ubuntu中 以下在我的 Ubuntu 中具有相同的 inode 编号 media BACKUP 1 MI
  • WPF - Graphics.CopyFromScreen 返回黑色图像

    以下方法取自 WinForms 应用程序 它只是捕获屏幕 但我需要修改它才能在 WPF 应用程序中工作 当我使用它时 它返回黑色图像 尺寸正确 我没有任何打开的 DirectX 或视频 甚至在我的桌面上也无法工作 public static
  • 如何使用stemCompletion函数(tm包)从字典中完成词干语料库

    我在 R 的 tm 包中遇到问题 我使用的是 0 6 2 版本 以下问题 2个不同的错误 已得到解答here https stackoverflow com questions 24191728 documenttermmatrix err
  • GCC C++ 异常处理实现

    我想知道GCC是如何实现C 程序的异常处理的 我在网上找不到一篇易于理解且不言自明的文章 尽管针对 Visual C 有很多这样的文章 我所知道的是GCC的实现称为DWARF异常处理 我编写了一个小型 C 程序 并使用以下命令将其转换为汇编
  • Jquery - 动画innerHTML 可能吗?

    我试图有一个函数来执行 setTimeout 然后更改innerHTML Question 我如何为出现的新文本设置动画 即逐行而不是一次全部写入 感谢您的任何建议 尝试这样的事情 div div document ready
  • 如何使用valist从C调用java vararg方法

    我有带有可变参数的 C 方法 void message int id 它应该使用 vararg 调用 Java 静态方法 public static void message String messageName String args 我
  • 不断增长的 Amazon EBS 卷大小 [已关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 亚马逊的 EC2 和 EBS 服务给我留下了深刻的印象 我想知道是否可以增加 EBS 卷 例如 如果我有 50 GB 的卷 但空间开始不足 我可以在需
  • C++ 内存中键值存储

    我正在寻找有关具有 C 接口或用 C 编写的内存中键值存储引擎或库的建议 我正在寻找可以毫无问题地扩展到大约 100mill 个键值对并且在 Linux 和 win32 64 上兼容 编译的解决方案 怎么样std map http cplu
  • R list() 的 Python 等效项

    R 的 list 也允许标记元素 Python 中是否有等效的方法来实现以下功能 list prob topTalent name Roger Python 文档位于https docs python org 3 tutorial intr
  • 如何查看给定 iOS ipa 文件中定义的 NSString

    我记得我以前做过这个 但忘记了命令 e g 我在源代码中定义了一个 NSString 例如 NSString s secret 我记得我可以使用以下命令查看内容strings命令 但我忘记了查看它的确切命令 e g strings my i
  • 1064, “您的 SQL 语法有错误;...” Python MySQL

    所以我从上周五开始就一直在研究这个问题 但无法解决这个错误 第1064章 你的SQL语法有错误 检查手册 与您的 MySQL 服务器版本相对应 以便使用正确的语法 第 1 行的 u 161010 035670 WHERE order id
  • 必填字段验证器未触发

    我在使用具有 TextBox 和 requiredFieldValidator 的标准 ASP NET 页面时遇到问题 重现的步骤非常简单 在页面上放置一个文本框 在页面上放置一个RequiredFieldValidator 将Requir
  • 如何使 Tab 页的宽度适合 TabControl 的宽度

    我有一个带有两个选项卡页的 TabControl 如何使选项卡页适合 TabControl 的宽度 如下面的屏幕截图所示 我尝试使用以下代码行 但它也不起作用 tabControl1 SizeMode TabSizeMode FillToR
  • Java:检测变量是字符串还是整数

    我正在为我的一些家庭作业寻求一些帮助 我希望用户输入一个数字字符串 然后将其转换为整数 但我想创建一个循环来检测用户是否输入了错误的值 例如 一百 而不是 100 我的想法是做这样的事情 do numStr JOptionPane show
  • Swift 对具有多个排序标准的数组进行排序[重复]

    这个问题在这里已经有答案了 Swift 中如何按多个条件对数组进行排序 例如 字典数组如下所示 items item itemA status 0 category B item itemB status 1 category C item
  • 使用自定义图标进行 Google 地图标记定位

    我遇到一个问题 带有自定义图标的标记似乎显示在地图上略有不同的点 具体取决于缩放级别 我以前使用过带有自定义图标的标记 所以我不知道我做错了什么 您会看到 最初标记看起来像是位于道路上 但如果缩小两次 它看起来就像在上面 如果放大两次 它看
  • GAE Blobstore 类文件 API 弃用时间表(py 2.7 运行时)

    这是 App Engine 团队的问题 上周我们意识到 App Engine 团队已将用于写入和读取 blobstore 的类文件 API 标记为已弃用 并且将来可能会被删除 我们有相当多的基础设施依赖于该 API 现在我们需要移植到他们建
  • 在python 3.6中导入tensorflow时出现非法指令:4

    我安装了macOS 上的张量流 https www tensorflow org install install mac使用 Virtualenv 一切顺利 成功安装了 6 1 11 0 tensorflow 1 6 0 是终端的最后一个输
  • 尝试呈现一个 UIViewController,其视图不在窗口层次结构中

    我有一个具有以下层次结构的多视图应用程序 启动 gt 导航控制器 gt 表视图控制器 gt 设置视图控制器 Splash 是应用程序入口点 因此成为根视图控制器 当我尝试通过设置视图控制器上的操作将图块添加到带区时 我收到调试器警告 app