登录后显示标签栏iPhone应用程序

时间:2011-07-28 00:35:37

标签: iphone objective-c cocoa-touch uinavigationcontroller uinavigationbar

我正在实现一个应用程序,我在其中显示一个带有导航项按钮的视图,该按钮显示模态视图。此模式视图显示登录表单。如果登录正确,我想转到另一个视图,显示带有2或3个控制器的标签栏。 到目前为止,在我的AppDelegate中我得到了:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES; }

然后,在我的RooViewController中,我得到了:

- (void)viewDidLoad {
HomeViewController *homeController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
self.controladorVistaHome = homeController;
[self.view addSubview:homeController.view];
[homeController release];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Login" style:  UIBarButtonItemStyleBordered target:self action:@selector(showModalLoginForm)];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Register" style:  UIBarButtonItemStyleBordered target:self action:@selector(showModalRegisterForm)];
[super viewDidLoad]; }

当我点击登录按钮时,它会显示一个带有表单的模态视图。一旦用户登录,我想显示带有一些控制器的nab条视图。 如果我修改我的AppDelegate,那么到目前为止我所做的并不起作用。有没有办法让这项工作? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

通常,UITabBarController是您的App&的绝对根。然后根据需要为每个标签视图添加UINavigationControllers

我建议您将self.window.rootViewController更改为UITabBarController(一旦用户登录,这将成为您应用的主要中心)。 然后在第一次启动时,如果用户没有登录,则抛出一个允许他们登录或注册的模态视图。

如果登录成功,请关闭模态视图。然后你将回到你的Tab Bar准备好应用程序的主要用途。

如果用户没有登录,请显示另一个模式视图进行注册,一旦完成,它将在模态视图中解除回原始日志(或者甚至只是自动登录用户并因此被解雇)。