ios - SwiftUI 更改 EditButton 文本颜色

标签 ios swiftui swiftui-list

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

最佳答案

如果在列表中编辑按钮,则无法使用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)
    }
}

关于ios - SwiftUI 更改 EditButton 文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68301381/

相关文章:

swift - addPeriodicTimeObserver 生成一个转义闭包错误

没有 NavigationLink 的 SwiftUI 列表披露指示器

ios - 如何在 SwiftUI 中显示 HTML 文本

ios - Amazon SDK Pod 无法编译?

ios - 在 scaleAspectFit 之后调整 UIImageView 框架的大小

SwiftUI:如何更改 TabView 高度?

swift - 如何在 SwiftUI 中删除 List 和 ScrollView 的底部填充

iphone - 重新连接断开连接的客户端套接字

objective-c - 更改 MKAnnotationView 自定义图像?

swift - 更改选项卡式 View SwiftUI 的凹口区域背景颜色