【发布时间】:2012-08-29 14:14:35
【问题描述】:
我正在尝试在 UITableView 中为自定义大小的页面实现分页。 我想要实现的是让活动单元格的顶部与 tableView 的顶部,同时仍显示 tableView 底部的下一个单元格的顶部(以使用户滚动并查看更多单元格)。
我的单元格都等高。
如果我设置paging=YES,这会导致轻微的偏移量随着我翻阅页面而增加。这是由于我的 tableView 比单个单元格略高,并且单元格高度/页面大小未对齐。
我在启用分页的情况下尝试了不同的方法。我尝试将 tableView 的大小设置为单元格的高度,然后关闭剪辑和遮罩,以便用户仍然可以看到下一个单元格。这不起作用,因为下一个单元格仅在单元格滚动到 tableView 的边界框之前的最后一毫秒添加到底层滚动视图。
然后我开始实现不同的 scrollView 委托方法来模拟分页行为 - 我似乎无法做到这一点。
除其他外,我尝试过这样的事情:
- (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
float cellHeight = [myCell rowHeight];
int index = floorf(scrollView.contentOffset.y / cellHeight);
*targetContentOffset = CGPointMake(targetContentOffset->x, targetContentOffset->y = (index * cellHeight));
}
虽然它做了一些正确的事情,但它的行为与启用分页的 scrollView/tableView 完全不同。
我在这里找到了一些试图实现相同目标的人的帖子,但答案与我自己尝试过的任何事情一样具有“非本地快照感觉”。
感谢您提供的任何帮助。
iOS >= 5.0
【问题讨论】:
-
你搞定了吗?
-
@aqs 抱歉,不,它从来没有真正起到过分页的作用。
-
没关系。我把这个github.com/100grams/HGPageScrollView 修改为垂直滚动。服务于我的目的
标签: ios uitableview uiscrollview