在滚动时动态更改UITableViewCell背景颜色

时间:2013-12-21 17:59:27

标签: uitableview uiscrollview uicolor

在iOS 7中,当您在iMessage上滚动时,您发送的所有消息都会显示为渐变色,具体取决于其滚动位置。渐变取决于单元格在屏幕上的位置。如果细胞位于底部,则它将是一个较暗的蓝色阴影,如果细胞位于顶部,则它将是较浅的蓝色阴影,并且其间的任何细胞将在最轻的阴影之间具有蓝色阴影(顶部细胞) )蓝色和最暗(底部细胞)蓝色。

请告诉我如何根据视图中的位置动态更改单元格的背景颜色?

1 个答案:

答案 0 :(得分:3)

您可以使用CAGradientLayer创建类似消息应用的渐变。

现在,您可以使用UIScrollView委托API收听表格视图的滚动。滚动发生时,获取表视图的所有可见单元格,并使用convertPoint:toView:convertRect:toView:在超级视图(表格视图)中计算其帧。然后,您可以根据y坐标对较浅和较暗的颜色进行小型计算。