0
我想实现的是“捕捉到单元格”效果在我的UITableView
。 我的UITableView
有3个相同大小的单元格,但由于某些原因,UITableView
总是捕捉到单元格0或单元格1,并且不会捕捉到第三个单元格。无论你滑得多么艰难,它的错误也会降低50分左右。我使用最明显的代码来创建效果,所以我不明白为什么它不起作用。UITableView捕捉到单元格
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
NSIndexPath *pathForTargetTopCell = [self.tableView indexPathForRowAtPoint:CGPointMake(CGRectGetMidX(self.tableView.bounds), targetContentOffset->y)];
DLog(@"indexPathForRow %d", pathForTargetTopCell.row);
targetContentOffset->y = [self.tableView rectForRowAtIndexPath:pathForTargetTopCell].origin.y;
}
有什么想法可能会出错?
编辑: 我怀疑这与顶部的状态栏和导航栏有关,因为它关闭了正好64点。仍然没有解释为什么它不承认,虽然最后一个单元格..
加了一个第四,现在它滚动到第三位。从技术上讲,这可以解决这个问题,但这真的很糟糕。 –
我编辑了我的答案。请检查是否适合您。 –
它确实有用!根据速度的方向,我决定改变我的实现,以便它总是“按照”顺序依次排列到下一个单元格。但是,在我接受之前,我试图达到的目标。但是,只有当您的单元格大小接近屏幕大小时才可以使用。 –