微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SwiftUI 更改 EditButton 文本颜色

如何解决SwiftUI 更改 EditButton 文本颜色

我正在使用工具栏编辑按钮进行列表编辑,下面是我正在使用的代码,我想更改 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
        }

解决方法

List 中的 Edit 按钮无法使用重音颜色,必须设置导航轨迹按钮,并且需要使用环境编辑模式

@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)
    }
}
,

使用函数.accentColor(Color)

EditButton()
  .accentColor(.red)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。