我正在开发一个 iOS 应用程序,它有一个包含 facebook 朋友列表的 tableview,我想管理这个列表以提高滚动性能。
我不想在每次用户打开该朋友列表视图时加载图像,并且可以将图像保存在本地,但同时这不是一个好习惯,因为用户可以在我们已经保存较旧的图片后更改他们的个人资料图片那些到文件系统。
所以我只是想知道管理这个的最好方法是什么?
另外,我怎样才能以最佳的优化尺寸获得这些图像?
提前致谢
我正在开发一个 iOS 应用程序,它有一个包含 facebook 朋友列表的 tableview,我想管理这个列表以提高滚动性能。
我不想在每次用户打开该朋友列表视图时加载图像,并且可以将图像保存在本地,但同时这不是一个好习惯,因为用户可以在我们已经保存较旧的图片后更改他们的个人资料图片那些到文件系统。
所以我只是想知道管理这个的最好方法是什么?
另外,我怎样才能以最佳的优化尺寸获得这些图像?
提前致谢
您可能可以在 AFNetworking 的 UIImageView 类中使用 setImageWithURL:placeholderImage: 来加载占位符(或现有图像),然后请求获取时将更新的最新图像。
文档在这里:
http://afnetworking.org/Documentation/Categories/UIImageView+AFNetworking.html
项目在这里:
https://github.com/AFNetworking/AFNetworking/
UIImageView 应该负责调整图像的大小。
那么如果你想设置占位符图像是可能的。FBProfilePictureView 是一个 UIView 但如果查看代码,您会看到他们将 UIImageView 添加到其中。这就是为什么您可以使用:
for (UIView *view in cell.faceImageView.subviews) {
if ([view isKindOfClass:[UIImageView class]]) {
[(UIImageView*)view setImage:[UIImage imageNamed:@"placeholder"]];
break;
}
}
Ofc,这是一种解决方法。但是,除非他们提供更好的东西,否则您不必在这里与 AFNetworking(这是一个很棒的库 btw)和查找 facebook 图像 url 混淆;)。