滚动或重新加载表格视图后视图位置更改

Posted

技术标签:

【中文标题】滚动或重新加载表格视图后视图位置更改【英文标题】:View position changes after scrolling or reload table view 【发布时间】:2017-10-26 10:14:15 【问题描述】:

第一次加载表格视图时看起来不错,但问题是滚动表格视图或重新加载表格视图然后lineView 位置发生变化。

func drowLine(_ cell: UITableViewCell)->UIView
    let lineView = UIView(frame: CGRect(x: 20, y: cell.contentView.frame.size.height - 1.0, width: cell.contentView.frame.size.width - 40 , height: 1))
    lineView.backgroundColor = UIColor(red: 56/255, green: 66/255, blue: 72/255, alpha: 0.149)
    return lineView



 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
        let  cell = tableView.dequeueReusableCell(withIdentifier: titleDisclosureIndicatorID, for: indexPath) as! TitleDisclosureIndicatorCell
       //......
        cell.contentView.addSubview(drowLine(cell))
    return cell



class TitleDisclosureIndicatorCell: BaseTableViewCell 

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) 
        super.init(style: .value1, reuseIdentifier: reuseIdentifier)
    
   //.....


初始加载表视图:

滚动并重新加载 tableview 行位置后更改一些行:

【问题讨论】:

它是如何变化的? @MilanNosáľ 图片已添加 【参考方案1】:

单元格正在被重复使用,所以我猜你一直在多次添加该行。 您应该以不同的方式处理此问题并使用RegistrationFormCell 的子类。将该行添加到您的故事板文件中,您就不会再遇到问题了。

【讨论】:

当你滚动单元格的行被再次调用。 PoolHallJunkie 是对的,虽然我不确定这是唯一的问题(请参阅出生日期和性别单元格中呈现的行) @MilanNosáľ date of birth and gender 表格视图重新加载。另一方面,滚动行变得更黑 @PoolHallJunkie 我该如何解决这个问题。你愿意分享吗? @PoolHallJunkie 我能够修复颜色变化问题,但在重新加载或滚动 date of birth and gender 后仍然会换行

以上是关于滚动或重新加载表格视图后视图位置更改的主要内容,如果未能解决你的问题,请参考以下文章

重新加载滚动视图的内容

如何在快速向上和向下滚动表格时停止自动重新加载表格视图? [关闭]

无法在 iOS 中滚动表格

重新加载表格视图后的抖动动作

自动大小表格视图单元格扩展高度中的嵌套水平集合视图使集合视图滚动重置当重新加载单元格以累积行

如何记住表格视图中的确切滚动位置