NSPathControl和自动布局

时间:2013-01-05 13:17:48

标签: objective-c macos cocoa nspathcontrol

我在NSPathControl和自动布局方面遇到了一些问题。

我希望路径控件能够随窗口大小调整。这意味着,如果我扩展窗口的宽度,NSPathControl也应该扩展。这很有效。

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

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

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

希望这是有道理的。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

解决方案

对不起,我想我要求禁食 我得到了这样的工作:


NSPathControl子类

- (NSSize)intrinsicContentSize {
    return NSMakeSize(NSViewNoInstrinsicMetric, NSViewNoInstrinsicMetric);
}

答案 1 :(得分:2)

不需要子类化。您可以告诉您的视图抵抗压缩的程度。默认情况下,优先级设置为NSLayoutPriorityDefaultHigh。您可能正在寻找NSLayoutPriorityDragThatCannotResizeWindow。您可以在XIB中的大小检查器中为控件设置此项,或者查看NSView的setContentCompressionResistancePriority:forOrientation: