gpt4 book ai didi

objective-c - 尝试在其 View 不在窗口层次结构中的 * 上呈现 *

转载 作者:IT老高 更新时间:2023-10-28 11:49:15 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序委托(delegate)中创建一个模态视图 Controller (我创建了一个名为 showLoginView 的函数)。但是每当我尝试调用它时,我都会在 XCode 中收到警告:

Warning: Attempt to present <PSLoginViewController: 0x1fda2b40> on <PSViewController: 0x1fda0720> whose view is not in the window hierarchy!

方法代码如下:

- (void)showLoginView
{
PSLoginViewController *loginViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"PSLoginViewController"];
[self.window.rootViewController presentViewController:loginViewController animated:NO completion:nil];
}

如何将 View 添加到窗口层次结构?或者我做错了什么?

最佳答案

您无法从 appDelegate 显示模态视图 Controller 。您需要从当前全屏显示的任何 viewController 中显示模态 ViewController。换句话说,您需要将该代码放入您的 Root View Controller ,或者您想要显示模态 vc 的任何一个......

此外,您还需要使用“presentModalViewController”方法来呈现模式。您可以在模态vc上设置属性,例如:

vC.modalPresentationStyle = UIModalPresentationFormSheet;
vC.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:vC animated:YES];

关于objective-c - 尝试在其 View 不在窗口层次结构中的 * 上呈现 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com