我正在点击已经缩略图像的服务器。要获取图像的缩略图,只需在图像资源的URL中设置尺寸属性。
我在Android项目中使用bumptech / glide,它运行得很好。用于滑动的IE实现了一个传递视图宽度和高度的方法(通过滑动计算),您可以使用它来确定如何对服务器大小(或关闭)的图像进行请求,即:< / p>
public class MyUrlLoader extends BaseGlideUrlLoader<MyDataModel> {
@Override
protected String getUrl(MyDataModel model, int width, int height) {
// Construct the url for the correct size here.
return model.buildUrl(width, height);
}
}
iOS有这样的东西吗?我在一些缓存中使用FastImageCache,但我不认为它有这种类型的支持。
最糟糕的是我想只是滚动我自己(可能是一个类别),根据图像视图大小计算要请求的大小图像。如果我这样做可能很容易抓住高度和宽度或图像视图,但我是否需要考虑设备的尺寸/比例(1x,2x或3x)?
答案 0 :(得分:0)
您需要做的就是构建适当的网址。但是从你的问题不清楚URL是什么样的,但它只是一行代码,使用Swift的字符串插值或Objective-C中的stringWithFormat
。
并且,是的,您确实想要在为特定尺寸的图像视图构建适当的URL时考虑比例(例如,尺度为3的设备上的44 x 44点图像视图应该请求图像是132 x 132像素)。
关于请求图像和缓存它,你可以编写自己的图像,因为它是微不足道的。当您通过NSURLSession
请求图片时,它会使用NSURLCache
将其无缝缓存在幕后(有一些警告)。如果您需要更高级的东西(例如,您在表视图或集合视图中更新图像并希望执行延迟加载),您可能会考虑用于异步提取图像的许多UIImageView
扩展之一(例如, Objective-C,我会考虑AFNetworking的UIKit类别,或者可能使用SDWebImage;在Swift中,我会考虑AlamofireImage,DFImageManager或Kingfisher)。