1

我正在尝试确定 UITableViewCell 相对于屏幕的位置。例如,假设我有一个包含 13 个单元格的表格视图(其中只有 6 个在屏幕上可见,要查看其余部分您必须滚动),我想以编程方式确定 13 个单元格中的哪一个是最后一个在任何时间点都可见。

我正在尝试创建这样的效果:

TableView 最后一个单元格

当你向下滚动时,只有最后一个单元格是“模糊的”(直到你到达单元格的末尾)。

我想做的看起来像这样:

if table has more cells that aren't visible at the moment
  last visible cell has a different colour
otherwise all cells have the same colour

现在,我可以看到一个非常简单的解决方案是添加一个半透明的 PNG 来实现这种效果,但我想知道是否可以通过编程方式来实现。

4

2 回答 2

2

UITableView扩展自,因此UIScrollView您可以获取contentOffset以了解它是否在其内容的末尾使用yourTableView.contentOffset并与 进行比较contentSize

于 2013-01-29T11:54:31.447 回答
1

我相信得到你想要的最好的方法是在你的 UITableView 中创建一个渐变

CAGradientLayer *gradient = [CAGradientLayer layer];
        gradient.frame = self.view.bounds;
        gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor clearColor]CGColor], (id)[[UIColor whiteColor]CGColor], nil];
        [self.view.layer addSublayer:gradient];

不要忘记在你的项目中包含 Quartz。

于 2013-01-29T11:48:13.247 回答