J'ai une fenêtre de préférences avec un NSTabViewController connecté à la barre d'outils pour sélectionner les onglets. Je souhaite que la fenêtre soit redimensionnable et redimensionnée si nécessaire lors du changement d'onglet pour l'adapter à la taille du nouvel onglet.La fenêtre anime la largeur mais pas la hauteur
Je NSTabViewController
avec le sous-classement de la surcharge suivante:
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)
}
}
Le résultat est que le redimensionnement Animez horizontalement, et à la fin, il redimensionne tout à coup aussi bien verticalement. Comment puis-je l'obtenir pour animer les deux directions à la fois?
Aucune contrainte de hauteur explicite sur les onglets, juste sur les sous-vues et leur espace haut/bas pour la vue d'ensemble. Idem pour la largeur. – Uncommon