0

我的应用程序基于 Apple 的 SplitView 项目类型。我有一个作为主视图的 TableView,并使用不同类型的视图作为详细视图。为了选择详细视图的类型,我在 DetailView 工具栏上使用了精美的按钮概念。当 DetailView 派生自 UIViewController 时,一切都很好。当 DetailView 派生自 UIViewController,但包含 UITableView 时,我遇到了问题。在纵向视图中,工具栏是可见的。在横向模式下,工具栏是隐藏的,即使 Tableview 向下移动以留出空间。UIToolbar 和 UITableView 都在我的 NIB 文件中定义,该文件被加载以创建详细视图。为什么我的工具栏在横向中不可见?

顺便说一句,这是使用 UISplitView 选择详细视图类型的最佳方式吗?额外的问题,如果在我的 DetailView 表视图中选择一行应该调出另一个视图,我不能像使用 NaviagtionController 那样推送它,那么我该如何返回到详细表视图?

谢谢,格里

4

2 回答 2

4

嗨,格里,我遇到了同样的工具栏问题,当尝试旋转 splitView 时,工具栏会消失。如果您在界面构建器中创建工具栏,请尝试设置工具栏属性(大小),方法是选择工具栏,然后 --> 工具 --> 大小检查器,在自动调整大小部分中,将左、右和上标记为红色线并取消标记底部的红线,然后一切都会正常。

-玛丽亚

于 2010-07-13T07:50:17.800 回答
0
  1. 额外的问题,我会在代码中创建一个 UINavigationController,将它的 rootcontroller 设置为 DetailView tableview (self),然后将新视图推送到它上面。
  2. 当您对旋转更改做出反应时,您是使用相同的视图还是使用不同的视图作为详细视图?似乎新视图可能不包含工具栏的实例?或者 Tableview 正在覆盖它,因为横向视图的垂直空间比纵向视图少。您是否正在重置 tableview 的高度以在旋转到横向时为 768 高度内的工具栏留出空间?

只是一个提示,但每当我遇到这样的奇怪事情时,我都会从 NIB 文件中删除元素并在代码中以编程方式创建它们,它通常可以解决问题。当你这样做时,你可以更好地控制事情。总的来说,随着我在 iPhone OS 编程方面获得了更多经验,我发现我很少再将太多内容放入 NIB 文件中,并且现在几乎所有事情都在代码中完成。

于 2010-06-01T19:21:07.053 回答