美文网首页
根据UIViewContentModeScaleAspectFi

根据UIViewContentModeScaleAspectFi

作者: guocongli | 来源:发表于2020-02-28 17:29 被阅读0次

最近在开发需要给图片切圆角,正常来说是按照固定的大小来进行裁剪圆角,但是由于业务原因,图片无法提供固定的大小而且要保证在固定的区域完全展示,所以就有了以下的探索。
确定思路:
1.获取调整后的实际图片尺寸
2.根据图片尺寸调整View的大小
3.对View进行裁剪

1.获取调整后的实际图片尺寸

根据网上的答案,有一段代码可以获取到调整后实际图片尺寸

float widthRatio = imageView.bounds.size.width / imageView.image.size.width;
float heightRatio = imageView.bounds.size.height / imageView.image.size.height;
float scale = MIN(widthRatio, heightRatio);
float imageWidth = scale * imageView.image.size.width;
float imageHeight = scale * imageView.image.size.height;

这里要注意的点是这里网络的image是要加载完后才能获取到大小。

2.根据图片尺寸调整View的大小

这里我加载网络图片用的是FLAnimatedImageView(用SDWebImage也一样),因为要加载完后进行操作,所以调用

- (void)sd_setImageWithURL:(nullable NSURL *)url placeholderImage:(nullable UIImage *)placeholder completed:(nullable SDExternalCompletionBlock)completedBlock

这个方法,在回调里面进行裁剪处理

3.对View进行裁剪

在block里面调用步骤一的代码,最好把里面的Image换成回调的Image,然后重新对ImageView的大小坐标进行调整,并对ImageView进行正常切角即可。

相关文章

  • 根据UIViewContentModeScaleAspectFi

    最近在开发需要给图片切圆角,正常来说是按照固定的大小来进行裁剪圆角,但是由于业务原因,图片无法提供固定的大小而且要...

  • 根据

    看似简简单单的两个字,昨晚让我翻来覆去睡不着。今年迷失了自己,找不到与人相处的方式。 领导问话固然紧张,但是看到领...

  • 根据内

    // 根据内容自适应单元格的高度//先得到内容NSDictionary *dic=self.allDataArra...

  • 根据地

    这次脚伤恢复得好慢,从过年回家到现在四个多月了,才刚刚开始消肿,经历了一段时间的迷茫与沉沦,我开始坐下来重新审视自...

  • 根据权重抽奖..

    根据用户名(id)和权重抽奖 test_model运行结果 权重: 1 此权重中奖次数: 49514权重: 2 此...

  • 根据需求选择

    面对不同人群,我们该主推哪些险种? 2017.06.李娟 重大疾病保险,是指当被保险人患保单指定的重大疾病确诊后,...

  • 根据地

    我们第一个阵法,它是相对比较单纯,直接地立过来,相当于一个人心口直快,有什么说什么,没有藏着掖着,这种人非常值得交...

  • 根据地

    开店办厂如果租来的厂房和店面,生意兴旺时间久之,房主店主不是加租,也是要回自用。要开店办厂,厂房店面要有,有的平台...

  • 根据颜色排队

    坐磁悬浮列车去东京机场,在等候区的地面上有两种颜色标注排队,蓝色是马上就到的车次,红色是下一趟到达的列车,这样可以...

  • 根据兴趣就业

    三百六十行,行行出状元,找工作永远是一个不会过时的话题。 不管如何,选择自己感兴趣的职业是最重要的...

网友评论

      本文标题:根据UIViewContentModeScaleAspectFi

      本文链接:https://www.haomeiwen.com/subject/zwwlhhtx.html