【问题标题】:Separator line unexpectedly appears when swiping UITableViewRowActions away滑动 UITableViewRowActions 时意外出现分隔线
【发布时间】:2016-02-03 20:08:59
【问题描述】:

在我的应用程序中,我使用的是UITableView,它由多个标题和每个标题的一或两行组成。每个单元格有两个UITableViewRowActions。我的问题是,每当这些行动作被动画出来时,单元格和下面的标题之间就会出现一个奇怪的分隔符。

我尝试关闭默认分隔符,改用自定义分隔符,但由于某种原因,我实际上需要使用默认分隔符。

在下一步中,我尝试仅对位于下一个标题顶部的那些单元格禁用分隔符,如下所示,但它不起作用:

if #available(iOS 9.0, *) {

      tableView.cellLayoutMarginsFollowReadableWidth = false

  }

cell.layoutMargins = UIEdgeInsetsZero
cell.preservesSuperviewLayoutMargins = false
cell.separatorInset.left = self.view.frame.size.width

为了帮助您了解问题,我创建了三个屏幕截图来显示奇怪的行为:

之前:

显示行动作时:

使用tableView.setEditing(false, animated: true) 解除行操作后:

你知道如何删除这个奇怪的分隔线吗?

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    我终于找到了一个相对干净的解决方案来解决这个问题 - 我只是在每个标题视图中添加一个“行修复”视图,它将覆盖奇怪的分隔符。由于这似乎是 Apple 的错误,因此这可能是最好的解决方法。

    代码如下:

    override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    
        let view = UITableViewHeaderFooterView()
    
        let lineFix = UIView(frame: CGRect(x: 0, y: -0.5, width: tableView.frame.size.height, height: 0.5))
        lineFix.backgroundColor = UIColor.groupTableViewBackgroundColor()
        view.addSubview(lineFix)
    
        return view
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      相关资源
      最近更新 更多