【发布时间】:2017-09-29 16:46:20
【问题描述】:
我有一个带有 NSTabViewController 的首选项窗口,它连接到用于选择选项卡的工具栏。我希望窗口可以调整大小,并在切换选项卡以适应新选项卡的大小时根据需要调整大小。
我将NSTabViewController 子类化为以下重载:
override var selectedTabViewItemIndex: Int
{
didSet
{
guard let view = tabViewItems[selectedTabViewItemIndex].view,
let window = view.window
else { return }
let minSize = view.fittingSize
let contentRect = NSWindow.contentRect(forFrameRect: window.frame,
styleMask: window.styleMask)
let minRect = NSRect(origin: contentRect.origin, size: minSize)
let newRect = minRect.union(contentRect)
let newFrame = NSWindow.frameRect(forContentRect: newRect,
styleMask: window.styleMask)
window.animator().setFrame(newFrame, display: true, animate: true)
}
}
结果是它动画水平调整大小,最后它突然也垂直调整大小。如何让它同时为两个方向设置动画?
【问题讨论】: