gpt4 book ai didi

ios - 当 UITableViewCell 在屏幕外滚动时变得不可见时如何添加自定义代码?

转载 作者:行者123 更新时间:2023-11-29 11:02:16 24 4
gpt4 key购买 nike

这个问题与this one非常相似,但那里没有答案,我不能对那个问题发表评论或做任何事情,情况有点不同。

我有自定义 tableViewCell,其中有一些自定义 View 。此自定义 View 包含 UIImageView 和 UIActivityIndi​​catorView,并且还附加了自定义加载程序类。当这个 View 第一次出现时,它的图像被隐藏并且 activityIndi​​cator 正在动画,然后启动加载过程(图像正在从某个 URL 加载)并且当图像成功加载时它出现在我的自定义 View 中。一切都很完美,但是当我快速滚动 tableView 时,我有很多背景 NSURLConnections 都是徒劳的。我还创建了一些方法来取消我的后台连接,但我无法在需要时调用它们 - 当 tableViewCell 离开屏幕时没有调用任何方法。我真的需要一些事件,这样我就可以取消我的后台连接。有什么办法吗?我真的不想检查 tableViewCell 在每个 -connection:didReceiveData: 中是否仍然可见,这非常蹩脚,但目前它似乎是实现我需要的唯一方法。

最佳答案

我的建议是在 UITableViewCell 的 prepareForReuse: 方法中取消网络请求。这很简单,也意味着如果单元格稍微滚动到屏幕外然后又重新打开,您将不会取消请求。 (您也可以在 tableView:cellForRowAtIndexPath: 中执行此操作,当您取回要重用的单元格时。)

您可能还想考虑避免在快速滚动时首先启动这些负载;您可以停止在 scrollViewWillBeginDragging: 上加载并等到,比方说,scrollViewDidEndDragging:willDecelerate: 从 TableView 回调,然后再开始对可见单元格的实际 URL 请求。

关于ios - 当 UITableViewCell 在屏幕外滚动时变得不可见时如何添加自定义代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15337256/

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