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