让 UITableViewCell 短暂闪烁
Make UITableViewCell flash briefly
我有一个 UITableView
设置,我正在探索突出显示 UITableViewCell
的所有不同选项,我想知道以下内容:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
.
.
cell.selectionStyle = .gray
return cell
}
现在发生的情况是,当一个单元格被选中时,它会以灰色突出显示,我想知道,是否可以在大约 0.5 秒后取消选择该单元格?
基本上是否可以使单元格仅短暂闪烁,以便用户知道他与单元格进行了交互,但它不会保持选中状态?我将此 tableView 用作侧边菜单,保持突出显示不是我想要的行为。
谢谢!
终于让它工作了,我所做的是:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.backgroundColor = .gray
DispatchQueue.main.asyncAfter(deadline: .now()) {
UIView.animate(withDuration: 0.5, animations: {
tableView.cellForRow(at: indexPath)?.backgroundColor = .none
})
}
也许这会对其他人有所帮助。唯一的问题是,点击的单元格在按下时不会突出显示,只有在手势结束后(即仅点击)。如果有人对此有解决方案,我将不胜感激,但现在就可以了。
您可以取消选择 didSelectRow
方法中的行,单元格将突出显示,然后选择将淡出,让用户知道他们与单元格进行了交互。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
// Do whatever else you need
}
我有一个 UITableView
设置,我正在探索突出显示 UITableViewCell
的所有不同选项,我想知道以下内容:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
.
.
cell.selectionStyle = .gray
return cell
}
现在发生的情况是,当一个单元格被选中时,它会以灰色突出显示,我想知道,是否可以在大约 0.5 秒后取消选择该单元格?
基本上是否可以使单元格仅短暂闪烁,以便用户知道他与单元格进行了交互,但它不会保持选中状态?我将此 tableView 用作侧边菜单,保持突出显示不是我想要的行为。
谢谢!
终于让它工作了,我所做的是:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.backgroundColor = .gray
DispatchQueue.main.asyncAfter(deadline: .now()) {
UIView.animate(withDuration: 0.5, animations: {
tableView.cellForRow(at: indexPath)?.backgroundColor = .none
})
}
也许这会对其他人有所帮助。唯一的问题是,点击的单元格在按下时不会突出显示,只有在手势结束后(即仅点击)。如果有人对此有解决方案,我将不胜感激,但现在就可以了。
您可以取消选择 didSelectRow
方法中的行,单元格将突出显示,然后选择将淡出,让用户知道他们与单元格进行了交互。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
// Do whatever else you need
}