0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita全国学生対抗戦Advent Calendar 2023

Day 7

【SwiftUI】設定ウインドウを開くボタンを設置する(macOS14)

Posted at

はじめに

以前も同じ内容の記事を書きました。

今までは設定ウインドウを開くにはAppKitを使用しないと実現できなかったのですが、macOS14からSwiftUIの標準で実装することができました。

サンプルアプリ

画面収録-2023-12-28-22.13.55.gif

実装

DemoApp.swift
import SwiftUI

@main
struct DemoApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }

        Settings {
            SettingView()
        }
    }
}
ContentView.swift
import SwiftUI

struct ContentView: View {
    var body: some View {
        SettingsLink {
            Text("設定ウインドウを開く")
        }
    }
}
SettingView.swift
struct SettingView: View {
    var body: some View {
        TabView {
            Text("General")
                .tabItem {
                    Label("General", systemImage: "gear")
                }
            Text("License")
                .tabItem {
                    Label("License", systemImage: "book")
                }
        }
        .frame(width: 300, height: 300)
    }
}

解説

今回のメインはSettingsLinkです。
引数はlabelでViewを取ります。

SettingsLink {
    Text("設定ウインドウを開く")
}

設定ウインドウを表示させるために、DemoAppに以下の実装をします。

@main
struct Demo_MacOSApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }

+       Settings {
+           SettingView()
+       }
    }
}

おわり

SwiftUIが便利になっていくのは嬉しいですね。

公式ドキュメント

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?