iPhone有没有办法在tabbar上创建一个视图?

时间:2011-08-13 17:51:37

标签: iphone

我有一个应用程序在首次启动时会启动登录页面。此登录页面遍历应用程序,并且在他们登录之前不允许任何人通过。我的主应用程序上还有一个设置选项卡,需要返回到此登录屏幕。现在它显示登录屏幕,上面有标签栏。有没有办法通过标签栏获取登录视图?

3 个答案:

答案 0 :(得分:2)

通过在标签栏顶部转换视图,我做了类似的事情。我使用了yourView.modalTransitionStyle = UIModalTransitionStyleFlipHorizo​​ntal;使用“关闭”按钮让用户返回标签栏屏幕。我没有这样做,所以它自动进入应用程序启动,而是从屏幕上的按钮调用视图分离到标签栏控件。但是,我相信你能够以某种方式利用它来做你想做的事。

事实上,我实际上已经使用这种方式在我的应用程序中调用视图,每次它都覆盖了tababr,你必须“关闭”它才能回到你来自的主标签导航。

答案 1 :(得分:0)

尝试在登录屏幕的viewDidLoad中进行以下设置:

self.tabBarController.hidesBottomBarWhenPushed = YES;

答案 2 :(得分:0)

您可以使用UITabBarController的子类来执行此操作,然后在viewDidAppear:中执行各种检查。正如@Maxwell建议的那样,登录视图以模态呈现。

// a subclass of UITabBarController

- (void) viewDidAppear:(BOOL)animated
{
  [super viewDidAppear:animated];

  [self firstLoadChecks];
}

- (void) firstLoadChecks
{
  if (!self.hasLogin) {
    id login = [[[LoginViewController alloc] initWithDelegate:self autorelease];
    id nav = [[[UINavigationController alloc] initWithRootViewController:login] autorelease];
    nav.modalPresentationStyle = UIModalPresentationStyleFormSheet;
    nav.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

    [self presentModalViewController:nav animated:YES];
  }
}

// from LoginViewControllerDelegate
- (void) didLogin
{
  self.hasLogin = YES;
  [self dismissModalViewControllerAnimated:YES];
}

// my LoginViewController can be closed without a login
- (void) dismissModalViewControllerAnimated:(BOOL) animated
{
  [super dismissModalViewControllerAnimated:animated];

  [self firstLoadChecks];
}