ios – UICollectionView AFNetworking AutoScroll / Pagination?

前端之家收集整理的这篇文章主要介绍了ios – UICollectionView AFNetworking AutoScroll / Pagination?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用UICollectionView AFNetworking 2从Web服务异步加载图像.它工作得很好.但是,如何实现自动滚动(当用户到达页面底部或靠近页面时,调用API以获取更多单元格).

我见过很多例子,但似乎没有最好的做法.例如,一个教程建议使用scrollViewDidScroll,但每次滚动视图时都会调用它.这是正确的实施吗?

PS.我在Swift编写代码.

这是我的细胞创建代码

func collectionView(collectionView: UICollectionView!,cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {

    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellIdentifier,forIndexPath: indexPath) as UICollectionViewCell

    let offer = self.offers[indexPath.row]
    var cellImageView = cell.viewWithTag(100) as UIImageView
    let requestURL = NSURLRequest(URL: offer.largeImageURL)
    cellImageView.setImageWithURLRequest(
        requestURL,placeholderImage:placeholderImage,success: {
            (request:NSURLRequest!,response:NSHTTPURLResponse!,image:UIImage!) in
            cellImageView.image = image
        },failure: {
            (request:NSURLRequest!,error:NSError!) in
            NSLog("GET Image Error: " + error.localizedDescription)
        }
    )
    return cell
}

解决方法

您可以在scrollViewDidScroll委托方法或collectionView:cellForItemAtIndexPath中执行此操作:(此处您可以检测到最后一个单元格正在加载).您需要做的是为AFNetworking调用创建一个包装器,以防止它几次加载数据(某种标志表明它已经加载).

之后,您可以在底部插入带有某种活动指示符的附加单元格,并在AFNetworking调用完成后将其删除.

猜你在找的iOS相关文章