cocoa - 当 NSSplitView subview 展开/展开以腾出空间时加宽 NSWindow

标签 cocoa nswindow nssplitview

我有一个带有两个 subview 的 NSSplitView。我的目标是将每个 subview 限制为最小宽度,但窗口的最小宽度取决于哪个 subview 可见。

例如,如果左侧/侧边栏 subview (最小宽度为 100)折叠,则允许窗口一直调整到右侧/主 subview 的最小宽度(例如 200)。我让这部分大部分时间都在工作。我无法弄清楚的部分是:当左侧/侧边栏未折叠(通过拖动或双击)时,窗口宽度应增加以留出左右 View 的空间(即至少100 + 200 + 分频器)。

有人能指出我正确的方向吗?谢谢。

最佳答案

如果您想知道如何以编程方式设置窗口最小宽度,则必须手动执行此操作,这意味着当用户切换 View 时更新窗口框架和最小尺寸。 Documentation

根据您的需求,这个 blog post或许对你也有帮助。

关于cocoa - 当 NSSplitView subview 展开/展开以腾出空间时加宽 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438002/

相关文章:

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

cocoa - NSTableView 行中的垂直对齐文本

macos - Swift NSWindow 显示并立即消失

objective-c - 我到底应该传递什么 -[NSApp activateIgnoringOtherApps :] to get my application to start "naturally" in comparison to most other OS X apps?

cocoa - NSWindow/NSPanel 无法在全屏应用程序前面显示

objective-c - 如何指定 NSSplitView Pane / subview 的宽度

macos - 使用 Swift 设置 NSSplitViewController Pane 的宽度

xcode - Finder 风格 NSSplitVIew - 仅在窗口调整大小时调整右侧面板的大小

iphone - 如何让一段代码在单独的线程中运行?

cocoa - 将菜单项绑定(bind)到第一响应者的属性