【问题标题】:SwiftUI change EditButton Text ColorSwiftUI 更改 EditButton 文本颜色
【发布时间】:2021-09-18 21:44:11
【问题描述】:

我正在使用工具栏编辑按钮进行列表编辑,下面是我正在使用的代码,我想更改 EditButton() 的文本颜色,我没有找到直接的方法,请帮助

    List {
            ForEach(viewModel.datas) { data in
                Text(data)
             }
            .onDelete { offset in
                self.indexSetToDelete = offset
            }
        }
        .toolbar {
            EditButton() 
           // I want to set the edit button color
        }

【问题讨论】:

    标签: ios swiftui swiftui-list


    【解决方案1】:

    List中Edit按钮不能使用accentColor,需要设置导航路径按钮,需要使用环境编辑模式

    @State private var editMode: EditMode = .inactive
    var body: some View {
          List {
            ForEach(viewModel.datas) { data in
                Text(data)
             }
            .onDelete { offset in
                self.indexSetToDelete = offset
            }
        }.environment(\.editMode, $editMode)
            .navigationBarItems(trailing: editButton) }
    
    private var editButton: some View {
        return Button {
            if editMode == .inactive {
                editMode = .active
            } else {
                editMode = .inactive
            }
        } label: {
            Text(editMode == .inactive ? "Edit" : "Done")
                .body(color: Color.red)
        }
    }
    

    【讨论】:

      【解决方案2】:

      使用函数.accentColor(Color)

      EditButton()
        .accentColor(.red)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-05
        • 1970-01-01
        • 2021-11-29
        • 2021-02-01
        • 2019-11-28
        • 1970-01-01
        相关资源
        最近更新 更多