【问题标题】:Presenting Navigation Controller within Tab Bar Controller在标签栏控制器中呈现导航控制器
【发布时间】:2013-07-11 19:31:37
【问题描述】:

我的应用程序有一个标签栏控制器,其中嵌入了两个控制器 - 一个导航栏和一个视图控制器。

我们将视图控制器称为 Number Pad 和导航栏及其根视图控制器 Display。

我在 数字键盘 中有一个按钮,它接收来自文本字段的输入,并在 Display 上的标签中显示相应的信息。

这是我的按钮代码:

SongController *songMain = [self.storyboard instantiateViewControllerWithIdentifier:@"SongDisplay"];

UINavigationController *navigate = [[UINavigationController alloc]initWithRootViewController:songMain];

[self presentViewController:navigate animated:YES completion:nil];

当我使用此方法时,Display 上的 tabBar 不见了。 是否仍然同时拥有标签栏和导航控制器?

【问题讨论】:

    标签: ios uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    您尝试执行此操作的方式是错误的。导航控制器已经存在(作为选项卡栏控制器的视图控制器之一),因此您不想再次实例化它或呈现它。您要做的是更改选项卡视图控制器的 selectedIndex 参数以切换到该视图:

    self.tabBarController.selectedIndex = 0;
    

    【讨论】:

    • 是的,我已经尝试过这种方法。问题是,通过这个按钮,我还可以从文本字段中传递值并将其显示在另一个视图控制器的标签中。当我使用你的方法时,标签不会改变。
    • @KyleRoach,如果你不告诉它这样做,这不会发生 - 我的回答是关于如何同时拥有标签栏和导航控制器的问题。要传递值,您可能应该使用委托(但这完全是另一个问题)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2011-09-18
    • 2015-12-08
    相关资源
    最近更新 更多