如何将UITableView上的分隔线放置到特定部分?

时间:2018-09-27 12:46:38

标签: ios swift xcode uitableview

我有一个UITableView,其中包含一些部分。我只希望一个部分的行有分隔线。

我尝试过:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    ...
    if indexPath.section == 1 {
        cell.separatorInset = UIEdgeInsetsMake(0, 1, 0, 0) // With other values too.
    }
    ...
    return cell
}

但什么也没发生。

1 个答案:

答案 0 :(得分:0)

您可以创建UITableViewCell的扩展名:

extension UITableViewCell {

  func hideSeparator() {
    self.separatorInset = UIEdgeInsets(top: 0, left: self.bounds.size.width, bottom: 0, right: 0)
  }

  func showSeparator() {
    self.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
  }
}

因此您可以在tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)

中使用它
if indexPath.section == 1 { 
    cell.hideSeparator()
} else {
    cell.showSeparator()
}