【问题标题】: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)