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

ios – 尝试呈现其视图不在窗口层次结构中的UIViewController,第1张

概述我有一个具有以下层次结构的多视图应用程序: 飞溅 – >导航控制器 – >表视图控制器 – >设置视图控制器 Splash是应用程序入口点,因此成为根视图控制器.当我尝试通过设置视图控制器上的 *** 作向乐队添加磁贴时,我收到调试器警告: application[1929:1000746] Warning: Attempt to present <MSBAddTileDialogViewControll 我有一个具有以下层次结构的多视图应用程序:

飞溅 – >导航控制器 – >表视图控制器 – >设置视图控制器

Splash是应用程序入口点,因此成为根视图控制器.当我尝试通过设置视图控制器上的 *** 作向乐队添加磁贴时,我收到调试器警告:

application[1929:1000746] Warning: Attempt to present <MSBAddTileDialogVIEwController_iOS: 0x15f0575b0> on <SplashVIEwController: 0x15dd597b0> whose vIEw is not in the window hIErarchy!

这在调用MSBClIEnt.tileManager addTile:completionHandler:之后立即发生.调用永不返回,不会生成错误.

关于如何解决这个问题的任何建议?

解决方法 您需要获取根视图控制器并从该视图控制器执行segue.这对于调试来说非常令人沮丧,但是这里有关于这个主题的一些答案.

以下是我在应用程序收到推送通知时用于从根视图控制器执行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?.rootVIEwControllertop?.present(vIEwController,animated: true,completion: nil)

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

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

目标C:

UIVIEwController *top = [self topMostController];UINavigationController *navigationController = [[UINavigationController alloc] initWithRootVIEwController:vIEwController];[top presentVIEwController:navigationController animated:YES completion: nil];

迅速:

let top = UIApplication.shared.keyWindow?.rootVIEwControllerlet navigationController = UINavigationController.init(rootVIEwController: vIEwController)top?.present(navigationController,completion: nil)
总结

以上是内存溢出为你收集整理的ios – 尝试呈现其视图不在窗口层次结构中的UIViewController全部内容,希望文章能够帮你解决ios – 尝试呈现其视图不在窗口层次结构中的UIViewController所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1104276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存