gpt4 book ai didi

swift - 折叠 NSSplitViewItem 不调用 splitViewDidResizeSubviews

转载 作者:行者123 更新时间:2023-11-28 16:07:31 24 4
gpt4 key购买 nike

我有一个继承自 NSSplitViewController 并覆盖 splitViewDidResizeSubviews 函数的类。

当我在 NSSplitViewController 中的 NSSplitViewItem 上调用 collapse 时,我看到 NSSplitViewItem 明显调整了 splitViewDidResizeSubviews 的大小函数未被调用。

如果我调整窗口大小,则会调用 splitViewDidResizeSubviews 函数,所以我知道它已正确实现。

我可以期待 splitViewDidResizeSubviews 函数在崩溃时被调用吗?如果是这样,我可能做错了什么?

最佳答案

因为折叠 splitViewItem 不会调整其实际框架大小,而只是切换项目的可见性。如果您只是切换 isCollapsed 状态,splitViewItem 会保留框架大小。

(一个异常(exception)是项目向外扩展时。即 splitViewItem.collapseBehavior = .preferResizingSplitViewWithFixedSiblings。正如我所测试的,它调用了 splitViewDidResizeSubviews。)

因此,对于这种用法,我更喜欢重写 NSSplitViewController 的另一种方法,例如:

func splitView(_ splitView: NSSplitView, shouldCollapseSubview subview: NSView, forDoubleClickOnDividerAt dividerIndex: Int

关于swift - 折叠 NSSplitViewItem 不调用 splitViewDidResizeSubviews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40059185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com