繁体   English   中英

窗口使宽度动画但不使高度动画

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM