List 中 Button 響應事件
Button 響應范圍大小
struct DemoView: View {
@State private var isRed = false
var body: some View {
List {
Section {
Button("點我") { isRed.toggle() }
.padding(50)
.background(isRed ? .red : .orange)
} header: {
Text("整個區域 cell 都會響應事件")
}
Section {
// button 的主體只有 "點我" 所以只有 "點我" 才能響應事件
Button("點我") { isRed.toggle() }
.padding(50)
.background(isRed ? .red : .orange)
.buttonStyle(.plain) // 設置button
} header: {
Text("只有 Button 文本 \"點我\" 會響應事件")
}
Section {
// button 的主體是 label 返回的視圖 所以 label 里的視圖都能響應事件
Button { isRed.toggle() } label: {
Text("點我")
.padding(50)
.background(isRed ? .red : .orange)
}.buttonStyle(.plain)
} header: {
Text("整個 Button 都會響應事件 ??????????")
}
}
}
}
struct DemoView_Previews: PreviewProvider {
static var previews: some View { DemoView() }
}