gpt4 book ai didi

IOS:以模式方式呈现登录屏幕的代码

转载 作者:行者123 更新时间:2023-11-29 02:01:46 25 4
gpt4 key购买 nike

我想用登录屏幕(以及首次使用时加入屏幕)来密码保护应用程序。 SO 上的一些答案建议测试用户是否已在初始屏幕的 viewdidappear 中登录,如果未登录,则以模态方式呈现登录屏幕。

我尝试了这个,但代码不起作用。有谁知道用于呈现模态视图 Controller 的最新代码?注意我在 Storyboard中创建了登录屏幕,并为其指定了 Storyboard ID“login”。

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
//if not logged in, modally present login screen here.

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"loggedIn"]) {
// go to login screen
NSLog(@"not logged in");//this fires so logic is ok
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];//this line gives warning it is not being used
} else {
// go to main screen
}
}
/*perhaps I should call this somewhere?

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
*/

最佳答案

归功于@rdelmar 评论,您必须 presentViewController:animated:completion: (presentModalViewController:animated: ivc。

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
//if not logged in, modally present login screen here.

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"loggedIn"]) {
// go to login screen
NSLog(@"not logged in");//this fires so logic is ok
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];//LOOK AT NEXT LINE
[self presentViewController:ivc animated:YES completion:nil]; //THIS LINE IS MISSING.
} else {
// go to main screen
}
}

关于IOS:以模式方式呈现登录屏幕的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282786/

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