SwiftUI Button

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容