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() }
}