ios - 警告“尝试呈现其 View 不在窗口层次结构中的 ViewController - Objective C

标签 ios objective-c

我正在尝试调用 Controller ,如果有响应错误,则将用户重定向到登录 Controller 。

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"EventManagerStoryboard" bundle:[NSBundle mainBundle]];
LoginViewController *loginController = [storyboard instantiateViewControllerWithIdentifier:@"loginID"];
[loginController viewDidLoad];
loginController.showOnlyLoginForm = YES;

[self presentViewController:loginController animated:YES completion:Nil];

我面临这个警告 -

Attempt to present Attempt to present LoginViewController: 0x7fc958201130 on ProfileController: 0x7fc9583118e0 whose view is not in the window hierarchy!

最佳答案

不要在 viewDidLoad 中运行这段代码,在 viewDidAppear 中试试

 [self presentViewController:loginController animated:YES completion:Nil];

编辑:

如果您实现了 navigationController,则在 appDelegate 中使用

 [(UINavigationController *)self.window.rootViewController pushViewController:vc animated:YES];

关于ios - 警告“尝试呈现其 View 不在窗口层次结构中的 ViewController - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289100/

相关文章:

iphone - 在 UIScrollView 上显示 PDF

iphone - 将 .net 日期时间字符串解析为 Objective C 中的 NSDate 对象

ios - 检测哪个 Controller 已在 Root View 中弹出

php - 使用 Delphi 进行数据库连接和选择(FIREMONKEY - iOS)

objective-c - 模态视图 Controller 中的 UIWebView

objective-c - 如何从屏幕内容创建 NSImage 实例

ios - 如何设置 UIView 的来源引用?

ios - 我们可以在 Xcode 中删除许多列作为 UltraEdit 吗?

objective-c - 如何禁止 Cocoa 应用程序中的所有日志记录?

ios - 如何在 iPad Air2 iOS9.2 的某些 ViewController 上强制屏幕方向?