本文主要记录一下问题和解决方案:
1、设置 imageView.layer.contentRect来控制显示范围
let imageView = UIImageView()
imgeView.layer.contentRect = CGRect(x: 0, y: 0, width: 1, height: scale) /// scale为UIImageView高度和图片实际高度的比例
2、下载完原始图片之后使用绘制的方法获取一张符合要求的图片,更换本地图片缓存,避免多次处理,浪费硬件资源。
3、如果是使用的OSS存储的图片,可以使用OSS自支持的方法在连接后拼接裁剪参数,前提需要知道图片的长宽,这样才能按照比例裁剪,具体参数参考OSS文档。
OSS图片处理文档链接点这里
4、那就要求服务端直接上传符合要求的图片吧,省的麻烦。