gpt4 book ai didi

iphone - UISplitViewController 不会呈现模态视图 Controller

转载 作者:行者123 更新时间:2023-12-03 19:09:11 25 4
gpt4 key购买 nike

在显示分割 View Controller 之前,我需要显示一个模态视图 Controller 。我需要这个,因为用户必须登录。

我已阅读此论坛上的答案,建议应从 AppDelegate 呈现模态视图 Controller ,但尝试这样做时,没有任何反应。

我已经在与界面其余部分相同的 Storyboard 中设置了 View Controller ,并且为 View Controller 指定了标识符 loginViewController。我试图在 AppDelegate 中显示 View Controller ,如下所示:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
UISplitViewController *splitViewController = (UISplitViewController *) self.window.rootViewController;
UINavigationController *navigationController = splitViewController.viewControllers.lastObject;
splitViewController.delegate = (id) navigationController.topViewController;

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
LoginViewController *lvc = (LoginViewController *) [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];
lvc.modalPresentationStyle = UIModalPresentationFullScreen;
[splitViewController presentModalViewController:lvc animated:YES];
}

[_window makeKeyAndVisible];

return YES;
}

当我这样做时,什么也没有发生。没有错误,没有模态视图 Controller ,什么都没有。该应用程序仅显示我的分割 View Controller 。

谁能告诉我如何在显示分割 View Controller 之前显示模态视图 Controller ?

最佳答案

除非 View 完全加载,否则 View Controller 将不允许在另一个 View Controller 上推送/呈现。

简单地说,我们不允许在 View Controller viewDidLoad/viewWillAppear中调用presentModalViewController/pushViewController。我们需要在 viewDidAppear 中调用它。

我也遇到了你说的同样的问题。

我可以说的一些解决方案是,

在[self.window makeKeyAndVisible]之后加载LoginViewController;以及在 PerformSelector 中(可能有延迟)。移动代码以在 SplitView 的 DetailView Controller viewDidAppear 中显示 LoginViewController。

谢谢

纳文山

关于iphone - UISplitViewController 不会呈现模态视图 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9793229/

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