mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
30 lines
904 B
Swift
30 lines
904 B
Swift
import Cocoa
|
|
import FlutterMacOS
|
|
|
|
class MainFlutterWindow: NSWindow {
|
|
override func awakeFromNib() {
|
|
let flutterViewController = FlutterViewController.init()
|
|
// 先不显示窗口
|
|
self.isReleasedWhenClosed = false
|
|
self.contentViewController = flutterViewController
|
|
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()
|
|
}
|
|
}
|