美文网首页
某一个逗比需求:图片从最上方截取,同时充满屏幕宽度

某一个逗比需求:图片从最上方截取,同时充满屏幕宽度

作者: 土b兰博王 | 来源:发表于2016-01-31 16:46 被阅读80次

    年底了,上头提了个需求让我蛋疼了2天:加载图片时候要全屏显示,但是高度不能超过屏幕宽度(最多显示个正方形),同时,图片截取是从最上方开始.
    iOS当中的 UIViewContentModeScaleAspectFill 属性基本上是贴合的,唯一需要考虑的是怎么让图片的截取从最上方开始。
    因为图片是加载在cell中的,走了点弯路,重绘图片再放回cell中会导致复用和内存占用的问题,最后我开始寻找layer层的解决方式,只花了一小会就找到了解决办法- -

    CGFloat newHeight = DEF_SCREEN_WIDTH * imageHeight / imageWidth;
    
    if (newHeight > DEF_SCREEN_WIDTH) {
    
        myImageView.layer.contentsRect = CGRectMake(0, 0, 1, (float)(DEF_SCREEN_WIDTH / newHeight));
    
        self.imageHeight.constant = DEF_SCREEN_WIDTH;
    
    }else{
    
        myImageView.layer.contentsRect = CGRectMake(0, 0, 1, 1);
    
        self.imageHeight.constant = newHeight;
    
    }
    

    以上就可以妥妥的搞定了。

    相关文章

      网友评论

          本文标题:某一个逗比需求:图片从最上方截取,同时充满屏幕宽度

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