[SwiftUI]ListビューでButtonが機能しない時の対処法

SwiftUI

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

「ListビューでButtonが上手く機能しない」
という人に向けて、その対処法を紹介します。

スポンサーリンク

対処法

インターフェース, インターネット, プログラム, ブラウザ, Www

ListビューでButtonを上手く機能させるには、buttonStyleモディファイアを使います。

まず、Listビュー内のButtonにbuttonStyleモディファイアを付与します。

そして、buttonStyleの引数にPlainButtonStyleを指定します。

Button(action: {
    //処理
}){
    //ラベル
}
.buttonStyle(PlainButtonStyle())

buttonStyleモディファイアを使えば、Listビュー内でもButtonを機能させることが出来ます。

buttonStyle修飾子の引数に指定するのが、BorderlessButtonStyleでも同じように機能します。

使用例

以下は、使用例です。

import SwiftUI

struct SampleView: View {
    
    var body: some View {
        List {
            HStack{
                ForEach(0..<3){ index in
                    Button(action: {
                        print("Tap \(index)")
                    }){
                        Text("Button \(index)")
                    }
                    .buttonStyle(PlainButtonStyle())
                }
            }
        }
    }
}

コメント

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