gpt4 book ai didi

ios - UICollectionView + AFNetworking + 自动滚动/分页?

转载 作者:IT王子 更新时间:2023-10-29 05:52:42 26 4
gpt4 key购买 nike

我使用 UICollectionView + AFNetworking 2 从网络服务异步加载图像。它工作得很好。但是,如何实现自动滚动(当用户到达页面底部或接近底部时,调用 API 以获取更多单元格)。

我看过很多示例,但似乎没有最佳实践。例如,一个教程建议使用 scrollViewDidScroll,但每次 ScrollView 时都会调用它。这是正确的实现方式吗?

附言。我正在用 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
}

最佳答案

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

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

关于ios - UICollectionView + AFNetworking + 自动滚动/分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24747899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com