【问题标题】:How to set UITableView cell separator to 'None' when selected选择时如何将 UITableView 单元格分隔符设置为“无”
【发布时间】:2019-05-02 03:14:23
【问题描述】:

我正在使用来自 .xib 的自定义单元格处理 UITableView。我在 .xib 的顶部和底部添加了一个蓝色边框,以在单元格之间提供自定义间距。我不想要单元格之间的分隔符,所以我在情节提要中将 Separator 设置为 None。这是它给我的样子。

这很好用,直到我选择一个单元格,此时我看到了这个(注意所选单元格上方和下方的白色分隔符):

我在cellForRowAt 函数中使用此代码将所选单元格的颜色设置为白色,但这似乎也强制分隔符为白色:

let selectedView = UIView()
selectedView.backgroundColor = .white
cell.selectedBackgroundView = selectedView

我试图弄清楚如何在选择单元格时删除分隔线。我在情节提要和代码中尝试了几件事,但没有找到任何可行的方法。例如:

  • 我不能使用cell.selectionStyle = .none,因为我希望单元格背景在选中时变为白色。
  • 从 viewDidAppear 调用时不会改变任何内容:tableView.separatorColor = UIColor.clear
  • 我在这里尝试了 Avinash Hide separator line on one UITableViewCell 的答案,但它没有做任何事情。

有什么想法吗?

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    我发现这个解决方案对我有用。

    我将cellForRowAt 函数中的代码更改为透明色:

    let selectedView = UIView()
    selectedView.backgroundColor = .clear
    cell.selectedBackgroundView = selectedView
    

    【讨论】:

      【解决方案2】:

      尝试更改tableView.separatorColor = tableView.backgroundColor 并将您的表格样式设置为 grouped

      【讨论】:

      • 感谢您的建议。不幸的是,这并没有改变任何东西。样式设置为分组。我尝试将 tableView.separatorColor 设置为几个不同的值,但它们都没有区别。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-17
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多