UITableView分页

我的应用程序有自定义的UITableView单元格。 我一次只想显示一个单元格 – 下一个单元格应该显示一部分。 在ScrollView中,您可以将isPagingEnabled设置为YES。

但是我怎么能在UITableView做到这一点?

谢谢

请注意, UITableViewinheritance自UIScrollView ,因此您可以在表视图本身pagingEnabled设置为YES

当然,这只有在所有单元格和表格视图本身高度相同的情况下才有效。

如果你希望在滚动后始终在表格视图的顶部有一个单元格,你可以使用UIScrollViewDelegate并实现类似的东西。

 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset { UITableView *tv = (UITableView*)scrollView; NSIndexPath *indexPathOfTopRowAfterScrolling = [tv indexPathForRowAtPoint: *targetContentOffset ]; CGRect rectForTopRowAfterScrolling = [tv rectForRowAtIndexPath: indexPathOfTopRowAfterScrolling ]; targetContentOffset->y=rectForTopRowAfterScrolling.origin.y; } 

这使您可以调整滚动操作将结束的内容偏移量。

我不认为我会使用一个UITableView。

我想我会使用UIScrollView与一堆高分页的内容。 你可以dynamic重build滚动活动的内容,所以你模仿UITableView的内存pipe理。 UIScrollView将很高兴地做垂直分页,这取决于它的contentView的框架的形状。

换句话说,我怀疑把UIScrollView像表格一样行为比像滚动视图这样的UITableView分页更容易。