Dea*_*ean 8 objective-c ios afnetworking uicollectionview swift
我使用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!, response:NSHTTPURLResponse!, error:NSError!) in
NSLog("GET Image Error: " + error.localizedDescription)
}
)
return cell
}
Run Code Online (Sandbox Code Playgroud)
小智 3
您可以在委托方法中执行此操作scrollViewDidScroll或collectionView:cellForItemAtIndexPath:(在这里您可以检测到最后一个单元格正在加载)。您需要做的是创建一个用于AFNetworking调用的包装器,以防止它多次加载数据(某种标志表明它已经加载)。
之后,您可以在底部插入带有某种活动指示器的附加单元格,并在AFNetworking通话结束后将其删除。
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |