ios - 向下和向上滚动后 TableView 单元格与 UIView 重叠

标签 ios swift uitableview ios9 xcode7

我正在研究一些设计概念,但遇到了这个“错误”。

知道为什么会这样吗?我已经遍历了不同的事物,但仍然找不到问题的根源或解决方案。

这个表示价格的“圆圈”与底部的另一个单元格重叠是我的预期设计。这一切都很好,但是,当我向下滚动并返回时,“较旧”的单元格突然与“圆圈”重叠。

请看截图。非常感谢任何帮助!!!

有没有人遇到过这种情况?

iOS9 - Xcode 7.3.1

编辑:

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if let cell = tableView.dequeueReusableCellWithIdentifier("CategoryCell") as? CategoryCell {

        cell.selectionStyle = .None
        cell.configureCell(dishes[indexPath.row])

        return cell

    } else {
        return UITableViewCell()
    }

}

Mobile Screenshot

编辑 2: 进一步分析后,我相当确信这与高度无关?我尝试使用不同的高度,但仍然得到相同的结果。

问题是,它加载完美,即使向下滚动,一切都很好。直到我向上滚动,问题才开始出现。

将 Clip SubViews (Cell) 设置为 true 将在加载时剪切所有内容,因此我将其设置为 false。

剩下的问题是,向上滚动时如何处理裁剪?

StoryBoard

编辑 3: 我想我现在明白了这个问题,但是我仍然不太确定如何解决它。

CircleView 放置在一个单元格上,该单元格将与其下方的另一个单元格重叠。设置 clipsToBounds、高度或将其置于最前面对其下方的单元格没有影响,因为它在向上滚动时会远离显示。

任何人都知道如何以某种方式重新绘制它,就像它刚刚加载一样(因为加载,一切正常)?或者我可能在其他地方缺少 clipsToBounds 设置?

我认为解决方案与此有关:How to stop UITableView from clipping UITableViewCell contents in iOS 7

但是,此解决方案不适用于 ios9。

最佳答案

在cellForRowAtIndexPath:方法中设置cell层anchorPointZ为行索引

cell.layer.anchorPointZ = indexPath.row;

关于ios - 向下和向上滚动后 TableView 单元格与 UIView 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254497/

相关文章:

ios - Xamarin.iOS 设计器 - 创建 Action 转场不起作用

ios - 展平具有重复值的字典数组 Swift 3.0

ios - UITableView 的实现,遵循 MVC 模式

ios - 如何在不重新加载图像的情况下重新加载 collectionview 单元格

c - 在 Swift 中使用 OpenSSL stack_st_x509?

ios - 表未在另一个 TabBar ViewController 中重新加载

ios - 解析 JSON 数组的问题

swift - WKWebView 底部不显示工具栏

ios - 如何删除 UITableViewCell 第一行的垂直间距

iphone - 在按下状态和选择状态时更改 UITableViewCell 的颜色