Cocoa如何设置最大窗高,但保留自由宽度

Cocoa如何设置最大窗高,但保留自由宽度,cocoa,nswindow,Cocoa,Nswindow,我有一个窗口,可以调整宽度,但有一个固定的高度,这听起来很容易,但我有一个硬编码的值,我真的很讨厌 我的代码是 NSWindow* win = ...; NSSize maxSize = [win maxSize]; maxSize.width = 30000; [win setMaxSize: maxSize]; 如何编写此代码以使用系统默认值 如果我的方法完全错误,我如何才能只为一个维度(宽度或高度)设置最大窗口的大小,而让另一个维度保持自由?也许您可以尝试实现如下操作: - (NSSiz

我有一个窗口,可以调整宽度,但有一个固定的高度,这听起来很容易,但我有一个硬编码的值,我真的很讨厌

我的代码是

NSWindow* win = ...;
NSSize maxSize = [win maxSize];
maxSize.width = 30000;
[win setMaxSize: maxSize];
如何编写此代码以使用系统默认值


如果我的方法完全错误,我如何才能只为一个维度(宽度或高度)设置最大窗口的大小,而让另一个维度保持自由?

也许您可以尝试实现如下操作:

- (NSSize)windowWillResize:(NSWindow *)window toSize:(NSSize)proposedFrameSize {
    proposedFrameSize.height = window.frame.size.height;
    return proposedFrameSize;
}

绝对是一个更好的解决方案!这正是API想要完成的地方。