iOS:在 ASIHTTP 完成获取图像数据之前将 UIImageViews 添加到 UIScrollView
我是 iOS 编程新手,我正在尝试创建一个在网格中显示图像的滚动视图。 我使用 ASIHTTPRequest
从我创建的 Web 服务中获取图像。在 -viewDidLoad
中,我调用一个方法来获取图像,然后将图像视图添加到滚动视图。
我遇到的问题是,在 ASIHTTPRequest 完成获取之前,我的图像视图已添加到滚动视图中。结果,我的滚动视图是空的。有谁知道如何解决这个问题?
I'm new to iOS programming and I'm trying to create a scroll view that shows images in a grid.
I use ASIHTTPRequest
to fetch images from a web service I created. In -viewDidLoad
I call a method to fetch the images and then add image views to the scroll view.
The thing I'm struggling with is that my image views are added to the scroll view before the ASIHTTPRequest
finishes fetching. As a result, my scroll view is empty. Does anyone know how to fix this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将需要维护对图像视图的引用,使用已完成请求中的数据设置其图像。添加图像视图时,将它们输入到数组中。接下来,使用
ASIHTTPRequest
上的userInfo
字典中的键为您的请求分配索引。然后,当请求完成时,使用响应数据实例化图像,读出请求索引,并将图像分配给数组中该索引处的图像视图。当然,这只是一种方法。随着网格变得越来越大,您将遇到内存和性能限制。此时,您可以选择适配
UITableView
、采用第三方网格实现或自己实现视图重用。You will want to maintain references to your image views, setting their images using the data from the completed request. As you add the image views, enter them into an array. Next, assign your requests an index using a key in the
userInfo
dictionary onASIHTTPRequest
. Then, when the request completes, instantiate an image with the response data, read out the request index, and assign the image to the image view at this index in your array.Of course, this is just one approach. As your grid grows larger, you will run into memory and performance constraints. At that point, you can choose to adapt a
UITableView
, adopt a third-party grid implementation, or implement view reuse yourself.