如何在 Swift 中保存复选标记?
How to save checkmark in Swift?
我正在为自己制作一个待办事项应用程序,我想制作一个将待办事项标记为已完成的功能。它添加了一个复选标记,字体应该变成灰色,但我是编码新手,所以我真的不知道如何将字体颜色和复选标记保存到内存中。我不知道我是否应该将它保存到 userdefaults 或核心数据,最重要的是如何保存它。非常感谢任何帮助。
代码如下:
我想保存 textColor 和 accessoryType
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
print("Done")
tableView.cellForRow(at: indexPath)?.textLabel?.textColor = UIColor.lightGray
tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
done.backgroundColor = .blue
let config = UISwipeActionsConfiguration(actions: [done])
config.performsFirstActionWithFullSwipe = false
return config
}
您可以使用 var status: Bool 添加待办事项?将其存储在数据库中。
您可以通过 setup(status) 设置带有状态的复选标记
希望能帮到你!
在您的数据模型中添加 属性
var isDone : Bool = false
在cellForRow
中根据那个属性设置UI(假设datasourceArray
是数据源数组)
let item = datasourceArray[indexPath.row]
cell.textColor = item.isDone ? .lightGray : .blue
cell.accessoryType = item.isDone ? .checkmark : .none
在操作中将 isDone
属性 设置为 true
并重新加载该行。
let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
print("Done")
self.datasourceArray[indexPath.row].isDone = true
self.tableView.reloadRows(at: [indexPath], with: .none)
}
并删除
done.backgroundColor = .blue
我正在为自己制作一个待办事项应用程序,我想制作一个将待办事项标记为已完成的功能。它添加了一个复选标记,字体应该变成灰色,但我是编码新手,所以我真的不知道如何将字体颜色和复选标记保存到内存中。我不知道我是否应该将它保存到 userdefaults 或核心数据,最重要的是如何保存它。非常感谢任何帮助。
代码如下: 我想保存 textColor 和 accessoryType
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
print("Done")
tableView.cellForRow(at: indexPath)?.textLabel?.textColor = UIColor.lightGray
tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
done.backgroundColor = .blue
let config = UISwipeActionsConfiguration(actions: [done])
config.performsFirstActionWithFullSwipe = false
return config
}
您可以使用 var status: Bool 添加待办事项?将其存储在数据库中。 您可以通过 setup(status) 设置带有状态的复选标记 希望能帮到你!
在您的数据模型中添加 属性
var isDone : Bool = false
在cellForRow
中根据那个属性设置UI(假设datasourceArray
是数据源数组)
let item = datasourceArray[indexPath.row]
cell.textColor = item.isDone ? .lightGray : .blue
cell.accessoryType = item.isDone ? .checkmark : .none
在操作中将 isDone
属性 设置为 true
并重新加载该行。
let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
print("Done")
self.datasourceArray[indexPath.row].isDone = true
self.tableView.reloadRows(at: [indexPath], with: .none)
}
并删除
done.backgroundColor = .blue