簡體   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