首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在从详细视图返回后禁用选定的表格单元格突出显示(回段)

如何在从详细视图返回后禁用选定的表格单元格突出显示(回段)
EN

Stack Overflow用户
提问于 2015-02-19 08:36:49
回答 6查看 16.4K关注 0票数 13

我的表视图单元格有问题。在使用带有嵌入式导航控制器的segue从详细视图返回到主表视图后,我无法禁用表格单元格选择的突出显示。表格单元格仍然被选中。当我单击其中一个显示细节时,我不希望禁用表格单元格选择。我只想在从细节视图返回后禁用它们。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-02-19 08:55:20

我现在明白了。我就这样解决了。很简单的理论。

我们只是在选择行时取消选择它

代码语言:javascript
复制
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)
}
票数 41
EN

Stack Overflow用户

发布于 2015-02-19 08:56:53

还可以禁用单元格选择高亮显示:

代码语言:javascript
复制
import Foundation

class CustomTableViewCell: UITableViewCell
{
  required init(coder aDecoder: NSCoder)
  {
    fatalError("init(coder:) has not been implemented")
  }

  override init(style: UITableViewCellStyle, reuseIdentifier: String?)
  {
    super.init(style: style, reuseIdentifier: reuseIdentifier)
    self.selectionStyle = UITableViewCellSelectionStyle.None
  } 
}
票数 4
EN

Stack Overflow用户

发布于 2017-10-14 12:52:34

如果启用了单个选择,我喜欢这样做:使用viewDidAppear方法。这样,当用户返回到tableView时,就可以看到取消选择动画。

代码语言:javascript
复制
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(true)
    if let selectedRow = tableView.indexPathForSelectedRow {
        tableView.deselectRow(at: selectedRow, animated: true)
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28601724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档