我正在使用Rubymotion构建iOS应用。我正在创建一个自定义的tableview行 我想从远程API添加一个大图像(从JSON对象获取URL)。
我该怎么做?我无法在任何地方找到如何从远程URL创建图像,然后将其添加到单元格中。
感谢所有人的帮助!
更新
我现在正在使用此代码,但滚动表时性能非常差。
url = NSURL.URLWithString("http://www.gravatar.com/avatar/1d92e61d7066383b1e3c797ea635f86e?s=128&d=identicon&r=PG")
data = NSData.dataWithContentsOfURL(url)
remote = UIImage.imageWithData(data)
image = UIImageView.alloc.initWithFrame([[50, 50],[150, 50]])
image.contentMode = UIViewContentModeScaleAspectFit
image.image = remote
更新2
我最终得到了性能良好的代码。现在我只想了解如何缓存图像。
Dispatch::Queue.concurrent.async do
data = NSData.alloc.initWithContentsOfURL(NSURL.URLWithString(post.image_medium))
if data
image = UIImage.alloc.initWithData(data)
Dispatch::Queue.main.sync do
image_view = UIImageView.alloc.initWithFrame([[210, 10],[80, 80]])
image_view.image = image
view.addSubview(image_view)
end
end
end
答案 0 :(得分:1)
如果只是一个单元格中的一个图像使用
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.example.com/exampleImage.png"]];
yourCell.image = [UIImage imageWithData:data];
如果你有很多当时或者不想阻止用户界面使用AsyncImageView