我有一个继承自NSSplitViewController
并重写splitViewDidResizeSubviews
函数的类。
当我在NSSplitViewItem
内的NSSplitViewController
上调用collapse时,我看到NSSplitViewItem
明显地调整了大小,但没有调用splitViewDidResizeSubviews
函数。
如果我调整窗口的大小,就会调用splitViewDidResizeSubviews
函数,这样我就知道它是正确实现的。
我能期望在崩溃时调用splitViewDidResizeSubviews
函数吗?如果是,我可能做错了什么?
最佳答案
因为折叠splitViewItem不会调整其实际帧大小,而只是切换项的可见性。如果只切换isCollapsed
状态,splitViewItem将保留帧大小。
(当项向外扩展时除外。即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/