gpt4 book ai didi

ios - 初始 ViewController 根据 Storyboard中的登录更改

转载 作者:行者123 更新时间:2023-11-29 02:19:47 24 4
gpt4 key购买 nike

在我的项目中, Storyboard的初始入口点是LoginViewController。如果用户登录到应用程序,我总是想显示 main ViewController通过转义 LoginViewCntyroller 来关闭应用程序,我按照 didFinishLaunchingWithOptions 中的代码执行了此操作方法。

if ([[NSUserDefaults standardUserDefaults] boolForKey:IS_SIGNIN_CHECK])
dispatch_async(dispatch_get_main_queue(), ^(void){
[self showMainScreen];
});

-(void) showMainScreen
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:[NSBundle mainBundle]];
SWRevealViewController *viewController = (SWRevealViewController *)[storyboard instantiateViewControllerWithIdentifier:@"MainScreenViewID"];
[self.window makeKeyAndVisible];
[self.window.rootViewController presentViewController:viewController
animated:NO
completion:nil];
}

它工作正常。但问题是,当它转到 MainViewController 时,它会转到 LoginViewController 几秒钟,然后显示 MainViewController。如何避免从 LoginViewControllerMainViewController 的转换?

最佳答案

您正在通过 LoginViewController 显示您的主屏幕。意味着首先 LoginViewController View 将加载并显示给用户,然后它会重定向到 主屏幕 使用此方案无法避免它。

但是你可以通过将你的主屏幕设置为主窗口的rootViewController来避免它,它会正常工作

if ([[NSUserDefaults standardUserDefaults] boolForKey:IS_SIGNIN_CHECK])
[self showMainScreen];


-(void) showMainScreen
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:[NSBundle mainBundle]];
SWRevealViewController *viewController = (SWRevealViewController *)[storyboard instantiateViewControllerWithIdentifier:@"MainScreenViewID"];
self.window.rootViewController = viewController;
}

关于ios - 初始 ViewController 根据 Storyboard中的登录更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28292056/

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