【发布时间】:2017-01-08 07:59:03
【问题描述】:
我在玩弄一些设计概念,却被这个“错误”困住了。
知道为什么会这样吗?我已经迭代了不同的东西,但仍然找不到罪魁祸首或解决方案。
这个价格的“圆圈”与底部的另一个单元格重叠是我的预期设计。这一切都很好,但是,当我向下和向上滚动时,“旧”单元格突然与“圆圈”重叠。
请看截图。非常感谢任何帮助!!!
以前有人经历过吗?
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()
}
}
编辑 2: 经过进一步的分析,我很确信这与身高无关?我使用了不同的高度,但仍然得到相同的结果。
问题是,它可以完美加载,即使向下滚动,一切都很好。直到我向上滚动,这就是问题开始出现的地方。
将 Clip SubViews (Cell) 设置为 true 会在加载时剪辑所有内容,因此我将其设置为 false。
剩下的问题是,向上滚动时如何处理剪切?
编辑 3: 我想我现在明白了这个问题,但是我仍然不太确定如何解决它。
CircleView 放置在一个单元格上,该单元格与它下面的另一个单元格重叠。设置 clipsToBounds、height 或将其放在前面不会对其下方的单元格产生影响,因为它会在向上滚动时远离显示。
任何人都知道如何以某种方式重绘它,就像它刚刚加载一样(因为 onload,一切正常)?或者我在其他地方是否有一个 clipsToBounds 设置?
我认为解决方案与此有关:How to stop UITableView from clipping UITableViewCell contents in iOS 7
但是,此解决方案不适用于 ios9。
【问题讨论】:
-
圆圈是标题还是一切都是单元格?也许您正在 cellForRowAtIndexPath 上添加子视图(UIImageView)。请出示您的代码。
-
您能否发布您对 cellForRowAtIndexPath 方法的实现?
-
@3li 按要求添加了代码。这是相当标准的。
-
@KlevisonMatias 一切都是细胞。圆圈是放置在单元格底部的 UIView。我已经编辑了我的帖子以显示代码。
-
@phage04 请告诉我提供的解决方案是否有效?
标签: ios swift uitableview ios9 xcode7