以下是为基于UITabBarController
的ios应用程序实现登录页面的两种方法:
1)使用AppDelegate.m文件的didFinishLaunchingWithOptions:
方法, if 记录,设置self.window.rootViewController = self.yourTabBarController
,如果 未记录,请设置self.window.rootViewController = self.yourLoginViewController
或
2)使用AppDelegate.m文件的didFinishLaunchingWithOptions:
方法只需拨打[self presentViewController:self.yourLoginViewController animated:NO completion:nil];
,其中self.window.rootViewController = self.yourTabBarController
只设置一次,而您只需dismissViewControllerAnimated:
即可" yourLoginViewController"成功登录时执行。
这些方法中哪一个更好?为什么?
答案 0 :(得分:3)
首先,我认为你的第二个选项是倒退的(我认为你希望root是标签栏控制器,登录视图控制器将被呈现和解除)。
哪个更好取决于您的具体要求。
我通常使用第一种方法来明确区分我的应用中的已注销与已登录体验。如果“登录”视图控制器实际上要求登录用户正常运行(例如从服务器获取该用户的数据等),这将特别有用。如果您只是在用户登录之前根本不初始化视图,则不必担心为这些视图处理一个额外的“未登录”状态。