为什么不列出UITableViewCell的Separator View?

时间:2018-04-08 18:03:50

标签: ios swift uitableview separator subviews

我想删除某些 UITableViewCell separators(不是全部)。

我在UI中看到它们,但是在我打印出子视图层次结构时不明白为什么它们没有被列出?

for view in cell.subviews {
    DDLogDebug(String(describing: type(of: view)))
}

enter image description here

这似乎发生在初步观点上。如果我将UITableView单元格远离视图然后再返回,则UITableViewCell的分隔符会神奇地出现在子视图日志打印输出中。这是怎么回事?

注意:我只在模拟器上测试过,因为我目前没有iPhone X.

3 个答案:

答案 0 :(得分:2)

在单元格之外使用UITableViewCell的似乎不像继承单元格并从中获取控制权那样可靠。

因此我的解决方案如下:

SeparatorView

使用此方法可以让我每次都找到 <VirtualHost *:80> DocumentRoot "E:/me" ServerName me.example.com ServerAlias me.localhost <directory E:/me> Require all granted </directory> ErrorLog "E:/me/logs/error.log" TransferLog "E:/me/logs/access.log" </VirtualHost> 并能够将其删除。

答案 1 :(得分:0)

我在iPhone X上遇到了与UITableView分隔符相同的问题。我能够解决它改变单元格背景的问题:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
   let cell: UITableViewCell = ...
   ...

   **cell.backgroundColor = .clear** // <= MAGIC LINE
   return cell
}

答案 2 :(得分:-1)

您可以使用故事板以编程方式删除分隔符。

  

故事板

只需点击table view并转到attribute inspector,然后选择separator并将其从default更改为none

enter image description here

  

代码

使用viewDidLoad

中的以下代码
customtableview.separatorStyle = .none
  

隐藏或删除单个细胞的分离

有人已经在这个社区上提出了评论问题。所以here是处理单细胞分离的解决方案。