[SwiftUI]List(リスト)の要素を選択可能にする方法[Xcode]

スポンサーリンク
SwiftUI
スポンサーリンク

どうも、ちょげ(@chogetarou)です。

SwiftUIのリストを選択可能にする方法について解説します。

スポンサーリンク

常に選択可能

以下は、常に選択可能なリストのコードです。

struct ContentView: View {
    @State var selected : Int? = 0
    var body: some View {
        List(selection: $selected) {
            Text("ゴロー")
                .tag(0)
            Text("ダイゴ")
                .tag(1)
            Text("イズミ")
                .tag(2)
        }
        .environment(\.editMode, .constant(.active))
    }
}

Listのselection引数で選択されている値を判別します。

.environment(\.editMode, .constant(.active))は、リストの状態を編集中に設定しています。

この設定によって、常に選択可能(編集中)になっています。


お名前.com

選択可能かを切り替える

ediModeを使用すると、常に選択可能になっています。

もし、選択可能かを切り替えたいのであれば、editModeを削除して、EditButtonを使用します。

@State var selected : Int? = 0
    var body: some View {
        
        VStack {
            EditButton()
            
            List(selection: $selected) {
                Text("ゴロー")
                    .tag(0)
                Text("ダイゴ")
                    .tag(1)
                Text("イズミ")
                    .tag(2)
            }
        }
    }

画面上のEditButtonによって、選択できるかを切り替えられるようになります。

合わせて読みたい記事

参考

金田浩明「SwiftUI 徹底入門」

【SwiftUI】複数のアラート(alert)を使う方法
(2020/11/30 更新)1画面内で複数のアラートを使い分ける方法を解説します。

簡単!無料会員登録はこちら

コメント

タイトルとURLをコピーしました