こちらで紹介したボタンの形ですが、解決方法がございます。
原因としてはbuttonStyleを設定していない事です。
コメントで教えて頂きました。
ただ、buttonStyleを設定すると見た目上は確かに不審な枠が消えるのですが、
ボタンのタップ範囲が狭くなってしまいました。
こちらがこのタブの修正後の実装です
.swift
HStack(spacing: 0) {
ForEach(0..<menuItems.count, id: \.self) { index in
Button {
withAnimation {
selectedTab = index
}
} label: {
HStack(spacing: 0) {
Spacer()
Text(menuItems[index].label)
.foregroundColor(index == selectedTab ? .black : .gray
Spacer()
}.background(.white)
}
.buttonStyle(.plain)
}
}
.buttonStyle(.plain)
と.background(.white)
を追加しました。
Button内のlabelにbackgroundを指定してあげないとタップ範囲がテキスト部のみで、ボタン全体にならないみたいです。