iPhone NavigationController - 推送相同的视图,接收不同的布局

时间:2009-02-22 21:06:15

标签: iphone

我有一个标签式应用程序,每个标签都有一个导航控制器。我使用辅助代码将视图/控制器对推送到导航堆栈但是当我从两个不同的地方调用相同的代码时,我得到(赞成)不同的结果。在一种情况下,视图渲染低于其他情况,导航条高度似乎较低。

从一个标签推送(处于有利位置):

从另一个标签推送(太低):

XIB:

这是推送代码:

+ (void)navigateToLocation:(Location*)location controller:(UIViewController*)vc withDelegate:(NSObject <LocationEditDelegate> *)delegate {

    LocationDetailsViewController *detailsController = [[LocationDetailsViewController alloc] initWithNibName:@"LocationDetailsViewController" bundle:nil];

    detailsController.title = [location display];
    detailsController.location = location;
    detailsController.delegate = delegate;

    // Push the detail view controller
    [[vc navigationController] pushViewController:detailsController animated:YES];

    [detailsController release];
}

有人可以帮我理解可能会发生什么,以及我如何进入这个?

我使用2.2安装和构建/部署2.2.1。

由于评论似乎没有显示,我在底部注释。如果我做错了,请对此进行编辑:

  • 我添加了模拟指标而行为没有变化。

4 个答案:

答案 0 :(得分:2)

在尝试了这些建议后,我注意到一个标签中的细微差别与其他标签相比。它的视图显示在导航栏下方的标签栏上方。其他人没有,他们的“内部观点”似乎在导航后面滑落(因为有问题的子视图也是如此。)

我不记得这些标签是如何创建的,但我重新创建了它们(在MainView.xib上设置了模拟指标,如果它有所不同,我怀疑,因为一个标签已经“正确”)。 )无论如何,事情现在正在发挥作用......

问题标签:

alt text

工作标签:

alt text

... 请参阅“内部视图周围的虚线”以及虚线顶部的结束位置。

答案 1 :(得分:2)

我前一段时间遇到过这个问题。如果我没记错的话,在我的脑海中,有一个“自动调整视图来填充屏幕”框,在IB中检查过。我认为这是在tabbar上的某个地方。取消选择它解决了我的问题

答案 2 :(得分:0)

这几乎肯定与不在XIB中使用模拟指标有关。尝试将模拟导航栏添加到您的XIB,看看它是否会发生任何变化。

答案 3 :(得分:0)

其中一个标签是否没有开始的导航栏?

此外,看起来底部的绿色条与视图的其余部分位于同一个XIB中,但它没有被按下。这是对的吗?

如果是这样,另一个解决方案是转到所有上部元素的标尺选项卡,并确保它们被锁定到视图的顶部边缘,以便它们不能向下移动...