From 4c59c42f5fef89682230d6af633be35f7ee8f5a6 Mon Sep 17 00:00:00 2001 From: ZhangLei Date: Mon, 3 Nov 2025 23:55:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A1=AE=E4=BF=9D=E5=81=8F=E5=A5=BD?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=AA=97=E5=8F=A3=E5=9C=A8=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=97=B6=E8=8E=B7=E5=BE=97=E7=84=A6=E7=82=B9=E5=92=8C=E6=BF=80?= =?UTF-8?q?=E6=B4=BB=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Windows/PreferencesWindowManager.swift | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Bitcoin-Monitoring/Windows/PreferencesWindowManager.swift b/Bitcoin-Monitoring/Windows/PreferencesWindowManager.swift index 358752a..ea88cdd 100644 --- a/Bitcoin-Monitoring/Windows/PreferencesWindowManager.swift +++ b/Bitcoin-Monitoring/Windows/PreferencesWindowManager.swift @@ -26,6 +26,16 @@ class PreferencesWindowManager: ObservableObject { // 如果窗口已存在,则将其带到前台 if let existingWindow = preferencesWindow { existingWindow.makeKeyAndOrderFront(nil) + + // 确保窗口获得焦点和激活状态 + DispatchQueue.main.async { + // 激活应用程序 + NSApp.activate(ignoringOtherApps: true) + + // 再次确保窗口获得焦点 + existingWindow.makeKeyAndOrderFront(nil) + existingWindow.orderFrontRegardless() + } return } @@ -66,9 +76,19 @@ class PreferencesWindowManager: ObservableObject { // 保存窗口引用 self.preferencesWindow = window - // 显示窗口 + // 显示窗口并获取焦点 window.makeKeyAndOrderFront(nil) + // 确保窗口获得焦点和激活状态 + DispatchQueue.main.async { + // 激活应用程序 + NSApp.activate(ignoringOtherApps: true) + + // 再次确保窗口获得焦点 + window.makeKeyAndOrderFront(nil) + window.orderFrontRegardless() + } + print("✅ 已显示偏好设置窗口") }