Cocoa如何设置最大窗口高度但保留宽度

daf*_*afi 3 cocoa nswindow

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

我的代码是

NSWindow* win = ...;
NSSize maxSize = [win maxSize];
maxSize.width = 30000;
[win setMaxSize: maxSize];
Run Code Online (Sandbox Code Playgroud)

如何编写此代码以使用系统默认值?

如果我的方法完全错误,我怎么能设置最大窗口的大小只有一个维度(宽度或高度)而另一个维度?

小智 5

也许你可以尝试实现类似的东西:

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