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