iOS

【SwiftUI】HStackの中にButtonがあると全体に当たり判定が出る問題を解決する方法

SwiftUIでHStackの中にButtonを置くと、ButtonだけではなくHStack全体に当たり判定が出てしまいます。

こんな感じ

この問題を解決する方法を解説します。

 

解決方法

Buttonに、BorderlessButtonStyleを指定するとButtonだけの判定になります。
理由は不明です…。

HStack {
    Image(systemName: "person")
    Text("鈴木鈴子")
    
    Spacer()
    
    Button(action: {
      // hoge
    }) {
        Text("共有を解除する")
    }
    .buttonStyle(BorderlessButtonStyle())  // コレを追加!!
}

 

解決!