これは何?
macOS 向けの App の開発で SwiftUI を使って、新しいタブを開くやり方の紹介です。
環境
- Apple Silicon M1 MacBook Air
- 16 Gb
- macOS Sequoia 15.0
- Xcode Version 16.0 (16A242d)
やり方
今回は ContentView.swift に設置したボタンを押すと、 PopupWindow.swift が開くものを作ります。
ウィンドウを用意
まずは開きたいウィンドウを用意します。
今回は PopupWindow.swift みたいな適当なファイル名とします。
//
// PopupWindow.swift
// sample
//
//
import SwiftUI
import AVKit
struct PopupWindow: View {
var body: some View {
VStack {
Text("ポップアップウィンドウです")
}
.padding()
.frame(minWidth: 440, minHeight: 480)
}
}
#Preview {
PopupWindow()
}
windwogroup を追加する
プロジェクトを作成した際に自動的に作られる、
アプリ名App.swift ファイルを開きます。
ここに以下のように追記します。
//
// アプリ名App.swift
// sample
//
//
import SwiftUI
@main
struct FolderCustomizerApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
// ここを追記した
WindowGroup(id: "popup") {
PopupWindow()
}
}
}
ボタンの設置
最後に ContentView.Swift にボタンを追加ます。
省略
Button(action: {
openWindow(id: "popup")
}) {
Label("help", systemImage: "keyboard.macwindow")
}
省略
以上です! これで動作するはずです。
もしサイドバーに複数ある情報をクリックして展開するといったことを目指されている場合は公式の
https://developer.apple.com/jp/videos/play/wwdc2022/10061/ こちらのページがわかりやすくコードつきで解説されているので、こちらをご覧ください。
コメントを残す