mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix small black flicker window on startup for macOS (#1287)
This commit is contained in:
@@ -4,12 +4,26 @@ import FlutterMacOS
|
||||
class MainFlutterWindow: NSWindow {
|
||||
override func awakeFromNib() {
|
||||
let flutterViewController = FlutterViewController.init()
|
||||
let windowFrame = self.frame
|
||||
// 先不显示窗口
|
||||
self.isReleasedWhenClosed = false
|
||||
self.contentViewController = flutterViewController
|
||||
self.setFrame(windowFrame, display: true)
|
||||
self.setFrame(self.frame, display: true)
|
||||
|
||||
// 背景别用默认黑色
|
||||
self.isOpaque = false
|
||||
self.backgroundColor = .clear
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user