iOS在滚动单元格时跳转到UITableView中的下一个单元格

时间:2014-12-31 14:41:19

标签: ios objective-c uitableview swipe

我想用全屏的单元格实现UITableView。当用户将单元格向上移动一部分时,我想跳转到下一个单元格而不是允许它自然滚动。

我在这方面看不到很多问题或答案,也许是因为这是一个愚蠢的想法,但客户想要看到它,而设计师已经设计了它,所以我真的必须尝试。

有没有人对如何实施这个有任何建议?

感谢。 (并且感谢你指出我的无知而不说谢谢!)

1 个答案:

答案 0 :(得分:3)

如果您的单元格的大小与tableView的高度相同,请将pagingEnabled属性设置为YES。这将使其在每次垂直滑动时捕捉到完整单元格。如果你这样做,我会确保高度完全是全屏,否则当你滚动时你会得到一些奇怪的偏移。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // or somewhere similar
    self.tableView.pagingEnabled = YES;
}

...

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return self.tableView.frame.size.height;
}

这实际上并不是一个糟糕的想法 - 你可以通过分页滚动视图实现类似的功能,但这样做的好处是不需要同时加载所有数据。


编辑:我还必须确保在控制器上禁用automaticallyAdjustsScrollViewInsets,否则我对第一个单元格有一个不需要的初始偏移量,以防万一你也跑到那个。