我正在开发将使用标签栏控制器的应用程序。但是在此选项卡栏控制器出现之前,我需要对用户进行身份验证。因此,我试图在标签栏控制器出现之前加载视图。到目前为止,这是我所做的:我正在使用“选项卡式应用程序”,并且在情节提要中是选项卡栏控制器。我创建了一个名为LoginViewController的视图控制器,其中包含它自己的xib。
因此,在AppDelegate didFinishLaunchingWithOptions:方法中,我这样做:
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:NULL];
self.window.rootViewController = loginViewController;
[self.window addSubview:loginViewController.view];
然后,在LoginViewController实现中,我创建了一个登录成功时将调用的方法。看起来是这样的:
- (void)removeLoginView
{
AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate removeLoginView];
}
现在,我不知道如何在AppDelegate中实现此方法。我如何从显示的情节提要中删除loginViewController并设置TabBar控制器?或有关如何执行类似操作的任何其他建议。
注意:我看到了一些有关使用presentModalViewController的建议,但已不建议使用。
在方法的末尾设置tab bar controller
aswindow.rootViewController
和,didFinishLaunchingWithOptions:
只需使用presentViewController:animated:completion
方法(替换已弃用的presentModalViewController
方法)即可:
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:NULL];
self.window.rootViewController = tabarViewController;
[tabarViewController presentViewController:loginViewController animated:NO completion:nil]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句