我正在使用一个具有良好UI的iOS应用程序来查看用户的 friend ,该应用程序当前处于启用了分页和100×100pt图片的垂直ScrollView中。但是,有500多个 friend ,这效率极低且缓慢,将所有这些图片立即加载到内存中。我想做的是使用TableView并在加载单元格时加载图像,但是我非常喜欢启用ScrollView并启用分页的效果。

您如何建议我将此功能添加到TableView?

最佳答案

将UITableView的pagingEnabled属性设置为YES始终是一个选项。但是,默认的UIScrollView分页将自动以UITableView的框架高度的倍数进行分页(不太可能与UITableViewCells的高度相同),因此您可能需要实现scrollViewWillEndDragging:withVelocity:targetContentOffset.此方法。当UIScrollView(或UITableView)开始减速时调用,它允许我们指定UIScrollView应该在哪里完成移动。

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView
                    withVelocity:(CGPoint)velocity
             targetContentOffset:(inout CGPoint*)targetContentOffset
{
    //Intercept and recalculate the desired content offset
    CGPoint targetOffset = [self recalculateUsingTargetContentOffset:targetContentOffset];

    //Reset the targetContentOffset with your recalculated value
    targetContentOffset->y = targetOffset.y;
}

您可能需要查看这篇文章(UITableView w/ paging & momentum),以了解如何调整目标内容偏移量重新计算方法以适合您的需求。

10-02 18:55