2011-08-17 30 views
3

虽然我接近解决方案,但我仍在努力解决这个问题,但我猜想我错过了一些东西。用UITableView和paging.enabled = YES(或其他方式?)设置页面大小

这里的情况是:

我的UITableView与30个细胞,和一个节头(如果它是有帮助的..)。 表格大小恰好是3行的大小。

任务:让用户每次滚动3行,完全是3. 我设置了pagingEnabled = YES。

会发生什么事是: “第1页” - 3行 - 行(行0-2)

刷卡 “第2页” - 未来3行 - 行(行3-5)

滑动到“第3页” - 并且分页不好,要么滑动第6行并显示第7-9行 或页面在6单元格的中间停止(还试图移动滚动以完成单元格可见性但它跳过某些页面上的某些行)

任何想法如何解决这种情况,每页只有3行,无需跳过ping或显示一半的细胞?

我不介意如果没有pagingEnabled = YES的方式。

我得出了这样的结论,这是我将来会用到的基本的东西,我想很多其他人会使用其他朋友在这里给出的解决方案。

谢谢。

+1

多么有趣的UITableView用法。它看起来像节标题使您的内容大小比cell.height * 30更大,所以寻呼偏移出错了。也许你应该使用NSLog来检查你的tableView究竟是什么contentSize。 – xuzhe 2011-08-17 10:43:52

回答

1

从来没有想过在表视图中使用此属性。
由于它是UIScrollView的子类,请尝试使用UIScrollViewDelegate方法并计算停止位置。 开始的好地方可以在scrollViewWillEndDragging:withVelocity:targetContentOffset:。并自己返回偏移量。



P.S.
从文档:

这种方法不被调用时滚动视图的 pagingEnabled属性的值是YES。您的应用程序可以更改targetContentOffset参数的值 ,以调整滚动视图的滚动动画完成位置。

相关问题