我有一个首选项窗口,其中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)
}
}
结果是它动画水平调整大小,最后它也突然垂直调整大小。如何让它同时为两个方向制作动画?
答案 0 :(得分:0)
您是否对任何标签都有高度限制?这些可能会阻止窗口变大(即使在屏幕外)。