2

我在使用NSPathControl自动布局时遇到了一些问题。

我希望路径控件随窗口调整大小。这意味着,如果我扩大窗口的宽度,NSPathControl也应该扩大。这行得通。

现在的问题是,如果我将路径控件的 URL 更改为更长的 URL,路径控件会自动扩展。我不想要那个。我希望路径控件宽度保持不变,除非用户调整窗口大小。

我尝试固定它的宽度,但是我根本无法调整窗口的大小......

另外,当我不固定路径控件的窗口时,我不能使其小于代表 URL 的子控件的实际内容。

希望这是有道理的。

我怎样才能解决这个问题?

4

2 回答 2

4

不需要子类化。你可以告诉你的观点有多少可以抵抗压缩。默认情况下,优先级设置为NSLayoutPriorityDefaultHigh。您可能正在寻找NSLayoutPriorityDragThatCannotResizeWindow. 您可以在控件的大小检查器中的 XIB 中设置它,或者查看 NSView 的setContentCompressionResistancePriority:forOrientation:.

于 2013-11-09T00:15:00.807 回答
2

解决方案

抱歉,我想我要求禁食。
我让它像这样工作:


NSPathControl 子类

- (NSSize)intrinsicContentSize {
    return NSMakeSize(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric);
}
于 2013-01-05T13:27:12.303 回答