开发一个 macOS 桌面悬浮窗口(类似悬浮工具条、任务管理器等)可以使用 macOS 的 AppKit 框架,通过配置窗口属性,使窗口始终显示在其他应用窗口的上方。以下是开发的详细步骤:
关键点
-
窗口类型
- 使用
NSWindow
创建悬浮窗口。 - 将窗口设置为浮动窗口,使其始终显示在其他窗口上方。
- 使用
-
窗口样式
- 使用
NSPanel
(NSWindow
的子类),它比普通窗口更适合悬浮用途。 - 禁用窗口标题栏、关闭按钮、最小化按钮等,只保留悬浮的内容部分。
- 使用
-
拖动功能
- 让悬浮窗口支持鼠标拖动。
-
透明背景
- 配置窗口支持透明背景或自定义形状。
开发步骤
1. 创建项目
- 在 Xcode 中选择 macOS 应用程序模板(App)。
- 设置项目名称,并选择 Swift 或 Objective-C 作为语言。
2. 创建悬浮窗口
在项目的主类(通常是 AppDelegate 或 SceneDelegate)中,创建一个自定义窗口。
Swift 示例代码:
import Cocoa
@main
class AppDelegate: NSObject, NSApplicationDelegate {
var window: NSWindow!
func applicationDidFinishLaunching(_ notification: Notification) {
// 创建窗口
window = NSPanel(
contentRect: NSRect(x: 200, y: 200