[英]Window animates width but not height
我有一个带有NSTabViewController的首选项窗口,该窗口连接到用于选择选项卡的工具栏。 我希望窗口可以调整大小,并在切换选项卡以适应新选项卡的大小时,如有必要,可以调整窗口的大小。
我用以下重载将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)
}
}
结果是它会在水平方向调整动画大小,最后突然在垂直方向调整大小。 如何获得同时对两个方向进行动画处理的效果?
您是否在任何标签上都设置了高度限制? 这些可能会阻止窗口变大(即使在屏幕外)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.