3

我有一个 10.6 应用程序,我正在使用 Xcode 4.3 在 Lion 上构建

主视图中有一个水平拆分视图,包含以下内容:

顶视图包含一个 NSSearchField,下面有一个 NSTableView。

底部视图包含一个 WebView。

我让它工作了,但是当我调整拆分视图的大小时,顶视图的行为很奇怪。

我想要发生的是搜索字段保持在原位,tableview 保持在原位,但如果向下拖动拆分视图则展开。如果向上拖动,我希望 webview 覆盖搜索字段和表格视图。

您可以在此剪辑中看到我的意思:http: //dl.dropbox.com/u/160638/Work/TENSOFT/resizemostlyokay.mov

当我向上拖动时,这会使东西保持在正确的位置,但在我向下拖动时不会展开表格。视图已展开,但表格未展开。

因此,我更改了表格视图/滚动视图上的自动调整大小约束,以使其在调整视图大小时扩展。这就是发生的事情: http: //dl.dropbox.com/u/160638/Work/TENSOFT/resizeproblem.mov

当拆分栏向上移动时,表格视图在顶视图内向上移动,直到它覆盖搜索字段。当杆向下移动时,它不会向后移动。

我找不到通过更改自动调整大小约束来完成这项工作的方法。这通常很容易,所以要么我遗漏了一些明显的东西,要么......?

在使用 Xcode 4.3 在 Lion 上创建 SL 应用程序之前,有没有人见过这种行为?

仅供参考,如果我使用自动布局在新的 10.7 项目中复制它,一切正常。

问候

达伦。

4

1 回答 1

2

当您允许 NSSplitView 使其其中一个子视图非常小以使子视图有效重叠时,您会遇到布局问题,这就是 Apple 引入自动布局的原因之一(观看有关自动布局的 WWDC 视频,我认为他们演示这个问题接近开始)。

如果我是你,我会为顶部窗格设置一个最小尺寸,例如,它在 100 像素高时停止调整大小。然后,您可以允许它折叠,以便用户仍然可以只显示 WebView。

于 2012-02-29T10:22:33.303 回答