fix small black flicker window on startup for macOS (#1287)

This commit is contained in:
Kofua
2025-09-20 11:08:33 +08:00
committed by GitHub
parent 6559aa767d
commit 099c7b4dff

View File

@@ -4,12 +4,26 @@ import FlutterMacOS
class MainFlutterWindow: NSWindow { class MainFlutterWindow: NSWindow {
override func awakeFromNib() { override func awakeFromNib() {
let flutterViewController = FlutterViewController.init() let flutterViewController = FlutterViewController.init()
let windowFrame = self.frame //
self.isReleasedWhenClosed = false
self.contentViewController = flutterViewController self.contentViewController = flutterViewController
self.setFrame(windowFrame, display: true) self.setFrame(self.frame, display: true)
//
self.isOpaque = false
self.backgroundColor = .clear
RegisterGeneratedPlugins(registry: flutterViewController) RegisterGeneratedPlugins(registry: flutterViewController)
//
NotificationCenter.default.addObserver(
forName: NSNotification.Name("io.flutter.embedding.engine.firstFrame"),
object: flutterViewController.engine, queue: .main
) { [weak self] _ in
self?.makeKeyAndOrderFront(nil)
NSApp.activate(ignoringOtherApps: true)
}
// makeKeyAndOrderFront
super.awakeFromNib() super.awakeFromNib()
} }
} }