0

我不知道为什么当我运行我的程序并按下默认谓词控件的 (+) 按钮以添加另一行时,它不会增加谓词控件的大小并将相应的 NSOutlineView 向下推。

现在发生的是它会添加行,但我必须使用鼠标滚轮在小框架内滚动,而不是框架增长以适应行的高度。

我正在使用 AutoLayout,不确定在这种情况下是否有问题。我相信我的约束设置正确。我设置了一个约束以确保 NSOutlineView 和 NSPredicateView 之间的距离始终为 -1,以便在窗口滚动时它保持正确。我不确定这甚至是问题,但目前对此表示怀疑。只是让你知道我知道。

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

2

我终于找到答案了!欢呼!

这是一个简单的答案:SetFrame 不适用于自动布局!

相反,您必须编辑约束!

这意味着在 NSPredicateEditor 和 IBOutlet 上为您的代码设置“高度”约束。

然后使用以下命令。

NSInteger newRowCount = [_predicateEditor numberOfRows];
NSInteger rowHeight = [_predicateEditor rowHeight];

[[_predicateEditorHeight animator] setConstant:rowHeight*newRowCount];

奇迹般有效!

于 2013-07-07T01:50:27.403 回答