SwiftUI Button

2022-08-26  本文已影响0人  xxxixxxx

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

上一篇 下一篇

猜你喜欢

热点阅读