【问题标题】:UINavigationController inside UIViewController that is inside a UINavigationConroller位于 UINavigationConroller 内的 UIViewController 内的 UINavigationController
【发布时间】:2012-06-01 02:26:31
【问题描述】:

我有一个导航应用程序,其中有一个视图控制器。我现在正在尝试将另一个 NavigationController 加载到该 ViewController 中,但是我遇到了问题..

我正在尝试以编程方式执行此操作,因为我不确定如何在 InterfaceBuilder 中执行此操作,但是新的导航控制器显示很奇怪.. 就像它认为上面有一个信息栏.. 所以有一个白色间隙..

如您所见。

这就是我为获得这个 ^ 当前外观所做的一切......

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    UINavigationController *newNav = [[UINavigationController alloc] init];
    [self.view addSubview:newNav.view];

    newNav.navigationItem.title=@"Navigation Controller Example";
}

任何帮助将不胜感激。

【问题讨论】:

  • 这里听起来像是 inception,你为什么要在导航控制器中加入导航控制器?我怀疑有更好的方法来做你想做的事情,通常我们使用一个导航控制器来推送后续视图,然后如果你需要一个单独的导航集,你可以使用模态 segue 到另一个...跨度>
  • 当用户在主 navigaitonstack 中访问此视图时,我希望用户能够在左右视图之间滑动(我将更改动画以使其像这样工作第二个导航控制器)......这只是我在另一个问题中被告知这样做的一种方式,这也是我沿着这条赛道前进的原因..
  • 哦,如果您让它们在同级视图之间滑动,您应该使用页面控件来管理它们。导航控制器适用于自上而下的层次结构,其中添加的每个视图都是前一个视图的子视图。如果您按照计划使用导航控制器,Apple 可能会拒绝您的应用。

标签: iphone ios uiviewcontroller uinavigationcontroller


【解决方案1】:

正如你所说,你只有一个基于 Navi 的应用程序,所以如果你想在你的应用程序中添加另一个 NavigationController,你应该隐藏新 NavigationController 的栏。以下是代码。

[newNav setNavigationBarHidden:YES animated:YES]; 

【讨论】:

  • 啊..这甚至使顶部的小白条消失了..感谢您的帮助。
  • 我刚刚关闭了动画,它不会显示出现在导航控制器内的详细视图.....但是如果我将动画设置为 YES,它会显示得很好......
猜你喜欢
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 2013-02-14
  • 2023-03-25
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多