工具栏隐藏在旋转的 UISplitView DetailView 上

发布于 2024-09-03 23:45:27 字数 478 浏览 6 评论 0原文

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

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

谢谢,格里

I've based my app on Apple's SplitView project type. I have a TableView as the Master, and am using different types of views as the Detail view. To select types of detail view, I'm using the fancy concept of buttons on my DetailView toolbar. When the DetailView is derived from UIViewController, everything is good. When the DetailView derives from UIViewController, but contains a UITableView then I have problems. In portrait view the toolbar is visible. In landscape mode the toolbar is hidden, even though the Tableview is moved down to allow space for it. The UIToolbar and UITableView are both defined in my NIB file which is loaded to create the detail view. Why is my toolbar invisible in landscape?

BTW, is this the best way to choose Detail view types with UISplitView? Bonus question, what if selecting a row in my DetailView tableview should bring up another View, I can't push it like I would with a NaviagtionController, so how do I go back to the detail tableview?

Thanks, Gerry

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星光不落少年眉 2024-09-10 23:45:27

嗨,格里,
我遇到了同样的工具栏问题,当尝试旋转 splitView 时,工具栏将消失。如果您要在界面生成器中创建工具栏,请尝试通过选择工具栏来设置工具栏属性(大小),然后 -->工具-->尺寸检查器,在自动调整尺寸部分,标记左、右、上红线,取消标记下红线,然后一切正常。

-玛丽亚

HI Gerry,
I have faced the same toolbar problem, when trying to rotate the splitView, toolbar will disappear. If you are creating the toolbar in the interface builder, try to set the toolbar properties(size), by selecting the toolbar, then --> Tools -->Size inspector, in the autosizing section, mark the left, right and upper red lines and unmark the bottom red line, then everything will works fine.

-Maria

那些过往 2024-09-10 23:45:27
  1. 额外的问题,我将在代码中创建一个 UINavigationController,将其根控制器设置为 DetailView 表视图(自身),然后将新视图推到其顶部。
  2. 当您对旋转变化做出反应时,您是使用相同的视图还是不同的细节视图?似乎新视图可能不包含工具栏的实例?或者 Tableview 掩盖了它,因为横向视图的垂直空间比纵向视图少。您是否重置桌面视图的高度,以便在旋转到横向时为 768 高度内的工具栏留出空间?

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

  1. Bonus question, I would create a UINavigationController in code, set it's rootcontroller to the DetailView tableview (self) and then push the new view on top of it.
  2. When you react to the rotation change are you using the same view or a different one for the detail view? Seems like the new view may not contain an instance of the toolbar? Or the Tableview is covering it up because the landscape view has less vertical room than the portrait view. Are you resetting the height of the tableview to allow space for the toolbar within the 768 height when rotating to landscape?

Just a tip but whenever I run into odd things like this I remove the elements from the NIB file and create them programmatically in code and it usually solves the problem. You get a lot more control over things when you do. Overall as I've gained more experience with programming for iPhone OS I've found that I rarely put much into a NIB file any longer and do almost everything in code now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文