我是iphone开发的新手。我正在开发一个包含四个选项卡的iphone应用程序。我使用标签栏控制器实现了它。但现在我需要在标签栏控制器之前显示没有标签的登录屏幕。我已经尝试了很多方法,但没有得到我想要的方法。
任何人都可以通过代码片段解释如何执行此操作吗?
答案 0 :(得分:2)
创建一个新类LoginViewController。当您的应用程序启动时,然后将视图添加到窗口。现在登录成功后,将其从superview中删除并添加MainController。
答案 1 :(得分:1)
创建一个UITabBarController的子类(尽管苹果不建议这样做),但为了这个目的,它应该没问题,并在viewWillAppear中执行此操作
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
BOOL isLogged in = //do something to determine if you're logged in
if(!loggedIn){
LoginViewController *loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewControllerNibHere" bundle:nil];
[self presentModalViewController:loginViewController animated:YES]; //or NO if you don't want it animated
[loginViewController release];
}
}
或者将其添加到UITabBarController的类别并将其导入应用程序委托或您使用UITabBarController的任何地方
答案 2 :(得分:0)
答案 3 :(得分:0)
检查此链接的源代码
它使用Login Controller作为带有4个选项卡的模态视图
http://code.google.com/p/tweetero/source/checkout
我也试过这种方式,
在我的第一个标签视图中 - 在viewDidAppear
- 我会检查Login = YES然后
显示LoginController
- [self.tabbarcontroller presentMOdalViewcontroller:LoginView animated:YES];
所以每次你点击第一个标签 - 如果你需要登录一个标志 - 检查它&显示登录视图
希望这有助于。
答案 4 :(得分:0)
执行此操作的最佳方法是创建一个新的LoginViewController,就像其他人提到的那样,然后在对用户进行身份验证后立即将rootviewController设置为tabBarcontroller。以下是如何在swift中执行此操作,这是在LoginViewController中验证用户后立即放置的片段
let tabBarController = self.storyboard?.instantiateViewControllerWithIdentifier("TabBarController") as! UITabBarController
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = tabBarController
TabBarController是标签栏控制器的故事板ID。它可以是你给它的任何名字。