我正在使用以下代码为tableview中的最后一个单元格提供一个阴影
if (indexPath.row == myLastCellNum) {
cell.layer.shadowColor = [[UIColor blackColor] CGColor];
cell.layer.shadowOpacity = 0.5;
cell.layer.shadowOffset = CGSizeMake(0, 1);
}
else {
cell.layer.shadowColor = [[UIColor clearColor] CGColor];
cell.layer.shadowOpacity = 0.0;
cell.layer.shadowOffset = CGSizeMake(0, 0);
}
您可以在下面的图片中看到最后一个单元格的底部有一个投影。这就是我想要的。
问题在于每当我向上或向下滚动桌面视图时,桌面视图看起来就像下面的图像
在这里,您会看到最后一个和倒数第二个单元格之间的分隔符也有阴影。这个阴影在设备上更加明显(图片来自模拟器)。
所以我的问题是,如何消除最后一个和倒数第二个细胞之间的额外阴影?
答案 0 :(得分:3)
如果你在cellForRowAtIndexPath:中使用它,那么如何:
cell.layer.shadowColor = [[UIColor clearColor] CGColor];
cell.layer.shadowOpacity = 0.0;
cell.layer.shadowOffset = CGSizeMake(0, 0);
if (indexPath.row == myLastCellNum) {
cell.layer.shadowColor = [[UIColor blackColor] CGColor];
cell.layer.shadowOpacity = 0.5;
cell.layer.shadowOffset = CGSizeMake(0, 1);
}
这样你就可以确保单元格没有阴影开始(用于单元格重用),然后只在输入if语句时给它一个阴影。