【问题标题】:iOS TabBar and Navigation ControllersiOS TabBar 和导航控制器
【发布时间】:2012-10-16 15:47:08
【问题描述】:

好的,那么我将如何执行此操作。

  1. 我有一个标签栏
  2. 标签栏的一个视图控制器中有两个按钮
  3. 当我单击按钮 1 时,它应该带我进入另一个屏幕,但它必须在底部有标签栏。
  4. 当我单击按钮 2 时,它应该带我进入另一个屏幕,但标签栏必须再次位于底部。

我试过了 1. presentModalViewController - 但这只是覆盖整个屏幕 2.将第二个屏幕作为子视图添加到第一个屏幕。 - 这显示了我想看到的第二个视图,并且底部还有标签栏。但是它不起作用。这意味着我在出现的视图中嵌入了一个滚动视图等,但在添加为子视图时这些都不起作用 3. 导航控制器 - 我认为这应该是方式,并再次尝试在 viewdidload 中添加新的导航控制器,但程序崩溃。

 @interface SettingsViewController : UIViewController <CLLocationManagerDelegate>
    @property (nonatomic,retain) UINavigationController * navigationController;

 - (void)viewDidLoad
{
    [super viewDidLoad];
    [self.view setBackgroundColor:[[ApplicationResources applicationResources]lightGreyColour]];
self.postCodeTextField.hidden = TRUE;
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self];
   [self.view addSubview:self.navigationController.view];
//self.facebookSwitch
 }

那么解决方法是什么?谢谢:)

【问题讨论】:

    标签: iphone objective-c ios uinavigationcontroller uinavigationbar


    【解决方案1】:

    presentModalViewController 就是要覆盖整个屏幕。

    您似乎希望在每个选项卡中都有一个导航控制器,因此每个选项卡都有自己的导航堆栈。诀窍是您应该将导航控制器添加到标签栏,然后将视图控制器添加到导航控制器。

    tabbar
    |
    +- navigationController1
    |     |
    |     +- myViewController1
    |
    +- navigationController2
          |
          +- myViewController2
    

    从上面的代码来看,你似乎忽略了 UIViewController 已经有一个名为 navigationController 的属性,所以你不应该自己声明它。

    要正确设置导航控制器,请参阅Tab Bar Application With Navigation Controller

    myViewController1被正确插入为navigationController1的根视图控制器时,你可以很容易地像这样呈现后续的视图控制器:

    //in myViewController1
    [self.navigationController pushViewController:myViewController3 animated:YES];
    

    【讨论】:

    • 这最初有效。但是在navigationController1中我想要两个视图控制器(这是因为当我按下按钮a时出现viewcontroller1,当我按下按钮B时出现viewcontroller2,并且两个按钮都在navigationControllers rootviewcontroller上)?有什么解决办法吗?
    猜你喜欢
    • 2013-09-21
    • 1970-01-01
    • 2018-03-24
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多