gpt4 book ai didi

ios - 在 UITableViewCell 中设置边框并在滚动时闪烁的问题

转载 作者:行者123 更新时间:2023-11-29 01:09:18 28 4
gpt4 key购买 nike

我在将顶部边框设置为 UITableViewCell 时遇到问题。我的要求是为所有单元格设置底部边框,仅为第一个单元格设置顶部边框。我使用下面的代码来设置这个

if (indexPath.row == 0){
CALayer* topCellBorder = [CALayer layer];
topCellBorder.frame = CGRectMake(0, 1, CGRectGetWidth(cell.frame) , 0.5);
topCellBorder.backgroundColor = [config getColour:@"theme.table-border.color"].CGColor;
[cell.layer addSublayer:topCellBorder];
}
CALayer* bottomCellBorder = [CALayer layer];
bottomCellBorder.frame = CGRectMake(0, CGRectGetHeight(cell.frame) - 0.5, CGRectGetWidth(cell.frame) , 0.5);
bottomCellBorder.backgroundColor = [config getColour:@"theme.table-border.color"].CGColor;
[cell.layer addSublayer:bottomCellBorder];

一开始效果很好,这是屏幕截图 enter image description here

但是滚动后,顶部边框消失并添加到下一个 View ,如下所示

enter image description here

此外,我在滚动时看到边框闪烁。任何想法是什么导致了这种行为

最佳答案

单元格被重复使用,因此旧的边框仍然存在。当您滚动时,第一个单元格将被其他单元格重用,并且它已经具有 topCellBorder

我建议您在单元格的awakeFromNib方法中添加单元格边框,并简单地打开和关闭顶部和底部边框。所以你的单元格应该有两个边界层,但是基于 TableView 数据源中的 indexPath.row,你只是显示和隐藏它们。

关于ios - 在 UITableViewCell 中设置边框并在滚动时闪烁的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957731/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com