【问题标题】:Change divider positions in NSSplitView when subviews change子视图更改时更改 NSSplitView 中的分隔线位置
【发布时间】:2013-03-23 23:37:04
【问题描述】:

我有一个带有四个子视图的NSSplitView。每个子视图都有一个带有一些文本的标题和一个开/关复选框,下面是一个NSTableView。用户可以使用复选框来切换表格的可见性。

如果表格在程序启动时可见,并且用户取消选中该复选框,则表格将消失。子视图因此变得更小。

如何让我的NSSplitView 对此做出反应(通过调整分隔线)?

【问题讨论】:

    标签: macos cocoa nsview nssplitview


    【解决方案1】:

    要以编程方式设置分隔线的位置,请在 NSSplitView 上调用 -setPosition:ofDividerAtIndex:

    【讨论】:

    • 我想出了一个,但也许我的问题需要澄清。除了移动分隔线之外,我还想更改子视图的边界。因此:用户使表格折叠 -> 子视图的边界相应更改 -> 通知 nssplitview 重新分配分隔符。我无法弄清楚如何在其内容减少时正确地使子视图更改大小(即表格消失)。
    • 你试过在你的子视图上调用-setBounds:吗?您可以使用该方法将其设置为您想要的任何大小。您也可以通过使用-setNeedsUpdateConstraints: 来获得自动布局来执行您想要的操作,但您可能必须为此从子视图中删除表格——即使视图被隐藏,约束仍然适用。
    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2019-04-23
    • 2011-02-13
    • 2011-09-26
    • 2014-11-19
    • 1970-01-01
    相关资源
    最近更新 更多