【问题标题】:Iphone application programming - navigation to other view controllers and escaping navigation controllerIphone 应用程序编程 - 导航到其他视图控制器和转义导航控制器
【发布时间】:2012-11-19 22:05:52
【问题描述】:

我的标签控制器有 3 个标签,里面有导航控制器:

// account view
UINavigationController * firstNavController = [[UINavigationController alloc]initWithRootViewController: viewController1];
viewController2.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:2];

// book view
UINavigationController * secondNavController = [[UINavigationController alloc]initWithRootViewController: viewController2];
viewController3.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:3];

// invite view
UINavigationController * thirdNavController = [[UINavigationController alloc]initWithRootViewController: viewController3];


CATransition *transition = [CATransition animation];
transition.duration = 0.7f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;

[firstNavController.view.layer addAnimation: transition forKey:nil];
[secondNavController.view.layer addAnimation: transition forKey:nil];
[thirdNavController.view.layer addAnimation: transition forKey:nil];

_tabBarController.viewControllers = [[NSArray alloc] initWithObjects: firstNavController, secondNavController, thirdNavController,  nil];

我有一个带有右键的导航栏,可以让人们转到“我的帐户”页面。不使用导航控制器怎么办?例如,如果人们点击标签栏按钮 1,他们会得到一个导航控制器(带有他们可以选择的服务列表)。如果他们点击右上角的“我的帐户”按钮,它应该打开一个新的导航控制器,底部有标签栏,这样他们就无法点击“我的帐户”页面上的后退按钮(因为这是这个新导航中的根控制器控制器。

我该怎么做?

基本上,我想从另一个视图控制器(控制器 2)打开一个新的视图控制器(控制器 1 - 我的帐户),而不将该新视图控制器推入控制器 2 的导航控制器。控制器 1 的标签栏应该位于底部但没有返回按钮。

【问题讨论】:

  • 您希望您的帐户控制器位于导航控制器中但没有导航栏,还是根本不希望它位于导航控制器中?
  • 我希望它在自己的导航控制器中,底部有标签栏。
  • 但是顶部没有导航栏吧?

标签: objective-c ios cocoa-touch ios5 ios4


【解决方案1】:

从控制器 2,您可以使用它切换到第一个控制器(我假设您的意思是第一个选项卡上的控制器):

self.tabBarController.selectedIndex = 0;

我认为你可以通过使用 self.navigationBarHidden = YES 在你的第一个控制器的 viewDidAppear 方法中隐藏导航栏

【讨论】:

    【解决方案2】:

    不要推送你的LoginViewController,而是尝试使用presentModalViewController。

    在你的导航rightBarButton行动中给予

    [self presentModalViewController:loginViewController animated:YES];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多