【问题标题】:Toolbar hiding on rotated UISplitView DetailView隐藏在旋转的 UISplitView DetailView 上的工具栏
【发布时间】:2010-07-13 15:50:17
【问题描述】:

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

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

谢谢,格里

【问题讨论】:

    标签: uitableview uitoolbar ipad


    【解决方案1】:

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

    -玛丽亚

    【讨论】:

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

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

      【讨论】:

      • 我在纵向和横向都使用相同的详细视图。我的表格视图在顶部为工具栏留出了空间,但这个空间目前被白色填充。我宁愿不使用笔尖,但我发现使用笔尖是我获得工具栏的唯一方法。 (工具栏和表格视图一样在笔尖中。)我无法直接用代码弄清楚。
      • 这篇文章解决了这个问题。它展示了如何创建一个有用的拆分视图应用程序。 cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template
      猜你喜欢
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 2012-03-24
      相关资源
      最近更新 更多