无边框窗口 (FramelessWindow)

Frameless window on macOS

FramelessWindow 向 SwiftUI 添加了一个新的窗口场景。 无边框窗口是没有标题栏且只有默认关闭按钮的窗口。 无边框窗口通常用作启动器窗口,例如 Xcode 所做的那样。

用法

创建一个没有标题栏且只有默认关闭按钮的窗口。

import SwiftUI
import FramelessWindow

@main
struct YourApp: App {
    var body: some Scene {
        FramelessWindow("Window Title", id: "window-id") {
            ContentView()
        }
    }
}

文档

该库拥有丰富的符号文档,使用 DocC 生成。

测试 FramelessWindow

FramelessWindow 包含一个可执行目标,它启动一个 SwiftUI 应用程序来测试 FramelessWindow。 可以使用以下方式执行它:

$ swift run

或者在 Xcode 中选择 Product > Scheme 下的 TestApp

添加 FramelessWindow 作为依赖项

要在 SwiftUI 项目中使用 FramelessWindow 库,请将其添加到包的依赖项中

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/astzweig/swiftui-frameless-window", from: "1.0.0"),
    ],
    targets: [
        .executableTarget(name: "<command-line-tool>", dependencies: [
            // other dependencies
            .product(name: "FramelessWindow", package: "swiftui-frameless-window"),
        ]),
        // other targets
    ]
)

支持的版本

swiftui-frameless-window 版本支持的最低 Swift 版本如下所示

swiftui-frameless-window 最低 Swift 版本
0.0.1 ... 5.7
2.0.0 ... 5.10