UITabBar在高于iPhone 4S的型号中不可见

时间:2015-03-02 18:35:09

标签: ios xcode interface-builder uitabbarcontroller uitabbar

我有一个项目,我正在从Xcode 4.6.3升级到Xcode 6.1.1并添加自动布局。 MainWindow.xib有一个UITabBarController,其中包含一个UINavigationController,其中包含一个UIView,其中包含带有UITableView的View。

MainWindow Tab Bar Controller

选择表格中的单元格会加载详细信息.xib,如下所示:

TaskDetailsViewController *controller = [[TaskDetailsViewController alloc] initWithNibName:@"TaskDetailsViewController" bundle:nil];
            controller.hidesBottomBarWhenPushed = YES;
            self.taskDetailsViewController = controller;
            [controller release];

在详细信息xib上选中“使用自动布局”之前,底部的标签栏可见。使用自动布局并在IB中添加约束后,底部的标签栏在高于iPhone 4S的模拟器中不可见。有白色空间,比标签栏的高度更多的空白区域。我尝试从底部移动所包含视图的框架和约束,但没有成功。在模拟器iPhone 4S中,可以看到详细信息选项卡栏。在设备中运行时的结果相同。所有细节视图都是对齐矩形。标签栏尺寸被禁用,X = 0,Y = 551,宽度= 600,高度= 49。

在从MainWindow查看recursiveDescription的调试器中,底部UILayoutGuide的帧=(0 431; 0 0),UITabBar的帧=(0 431; 320 49),这是预期的。选择表格单元格并加载详细信息.xib后,详细信息底部UILayoutGuide的帧=(0 607; 0 0),UITabBar的帧数=(0 607; 320 49)。 607似乎不正确。如何显示详细信息.xib UITabBar?

1 个答案:

答案 0 :(得分:0)

TaskDetailsViewController nib有一个什么都没有的视图。有一个带有详细信息选项卡的兄弟UITabBarController。我的解决方案是使用UITabBarController创建一个故事板,消除TaskDetailsViewController和视图。标签栏可以按预期布局。