From 2ce79e5a05401f008a09834e891e64a1bab4c57e Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Tue, 13 Feb 2024 13:25:00 +0800 Subject: [PATCH] SettingsCocoa // Also layout subtree at final step. --- .../MainAssembly/Settings/SettingsCocoa/CtlSettingsCocoa.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/CtlSettingsCocoa.swift b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/CtlSettingsCocoa.swift index 118c594d..3c815196 100644 --- a/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/CtlSettingsCocoa.swift +++ b/Packages/vChewing_MainAssembly/Sources/MainAssembly/Settings/SettingsCocoa/CtlSettingsCocoa.swift @@ -92,7 +92,7 @@ extension CtlSettingsCocoa: NSToolbarDelegate { func use(view newView: NSView, animate: Bool = true) { guard let window = window, let existingContentView = window.contentView else { return } guard previousView != newView else { return } - newView.layoutSubtreeIfNeeded() + newView.layoutSubtreeIfNeeded() // 第一遍,保證 macOS 10.9 系統下的顯示正確。 previousView = newView let temporaryViewOld = NSView(frame: existingContentView.frame) window.contentView = temporaryViewOld @@ -101,6 +101,7 @@ extension CtlSettingsCocoa: NSToolbarDelegate { newWindowRect.origin.y = window.frame.maxY - newWindowRect.height window.setFrame(newWindowRect, display: true, animate: animate) window.contentView = newView + newView.layoutSubtreeIfNeeded() // 第二遍,保證最近幾年的這幾版系統下的顯示正確。 } var toolbarIdentifiers: [NSToolbarItem.Identifier] {