0

通过使用情节提要设计我的应用程序,我实际上遇到了问题。我的起始视图是一个 UITabBarController。它有不同类型的控制器:UIViewControllers 和 UITableViewControllers。

我的 TabBarController 有一个属性: UINavigationBar *navBar; 事实上,我想在我的应用程序中显示一个导航栏。

我的问题是每个子控制器的视图都显示在导航栏下方。

我已经通过 ViewController 解决了这个问题,方法是添加第一个视图,然后考虑导航栏的高度添加其他视图。

但是问题仍然存在,我不能对 TableViewController 使用相同的技巧。

那么他们的东西是要在情节提要中设置,还是在我的 TabBarController 的 .m 文件中设置,以便其他控制器知道显示了导航栏?

4

1 回答 1

0

您应该始终根据视图的动态大小计算视图大小。例如

CGRect newFrame = CGRectMake(10, 10, self.view.bounds.size.width - 20,
                                     self.view.bounds.size.height- 20);

如果有导航栏或标签栏,会自动调整视图,上面会有预期的结果。

此外,通常最好使用 AutoLayout 以避免任何硬编码的大小调整。

于 2013-04-18T09:05:47.233 回答