SplitView没有正确调整子视图中的NSTableView

时间:2012-02-28 13:59:37

标签: cocoa nstableview nssplitview

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

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

顶视图包含一个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项目中复制它,一切正常。

此致

达伦。

1 个答案:

答案 0 :(得分:2)

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

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

相关问题