确定屏幕内是否有UITableViewCell位置

时间:2013-01-29 11:25:22

标签: objective-c uitableview cell

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

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

TableView last cell

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

我想做的事情看起来像这样:

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来实现这种效果,但我想知道是否可以通过编程方式进行。

2 个答案:

答案 0 :(得分:2)

UITableViewUIScrollView延伸,因此您可以使用contentOffset获取yourTableView.contentOffset,以便知道它是否位于其内容的末尾,并与{{1}进行比较1}}。

答案 1 :(得分: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。