SettingsCocoa // Also layout subtree at final step.
This commit is contained in:
parent
92b2ada9c5
commit
2ce79e5a05
|
@ -92,7 +92,7 @@ extension CtlSettingsCocoa: NSToolbarDelegate {
|
||||||
func use(view newView: NSView, animate: Bool = true) {
|
func use(view newView: NSView, animate: Bool = true) {
|
||||||
guard let window = window, let existingContentView = window.contentView else { return }
|
guard let window = window, let existingContentView = window.contentView else { return }
|
||||||
guard previousView != newView else { return }
|
guard previousView != newView else { return }
|
||||||
newView.layoutSubtreeIfNeeded()
|
newView.layoutSubtreeIfNeeded() // 第一遍,保證 macOS 10.9 系統下的顯示正確。
|
||||||
previousView = newView
|
previousView = newView
|
||||||
let temporaryViewOld = NSView(frame: existingContentView.frame)
|
let temporaryViewOld = NSView(frame: existingContentView.frame)
|
||||||
window.contentView = temporaryViewOld
|
window.contentView = temporaryViewOld
|
||||||
|
@ -101,6 +101,7 @@ extension CtlSettingsCocoa: NSToolbarDelegate {
|
||||||
newWindowRect.origin.y = window.frame.maxY - newWindowRect.height
|
newWindowRect.origin.y = window.frame.maxY - newWindowRect.height
|
||||||
window.setFrame(newWindowRect, display: true, animate: animate)
|
window.setFrame(newWindowRect, display: true, animate: animate)
|
||||||
window.contentView = newView
|
window.contentView = newView
|
||||||
|
newView.layoutSubtreeIfNeeded() // 第二遍,保證最近幾年的這幾版系統下的顯示正確。
|
||||||
}
|
}
|
||||||
|
|
||||||
var toolbarIdentifiers: [NSToolbarItem.Identifier] {
|
var toolbarIdentifiers: [NSToolbarItem.Identifier] {
|
||||||
|
|
Loading…
Reference in New Issue