UIImageView的图片显示

2016-10-18  本文已影响0人  zhouios

用UIImageView显示图片的时候,一般我们都是先把UIImageView的宽和高都设置好了,然后下载图片显示就可以了;但是下载的图片有可能拉伸,那么就需要显示图片的时候 等比显示;如下面(ImageVIew是一个设置好的UIImageView):

    //下面这中方式显示的图片是不会拉伸的,它是等比显示的,然后把超出显示的部分剪切掉
    self.ImageVIew.image = [UIImage imageNamed:@"yangyang"];
    // 内容模式
    self.ImageVIew.contentMode = UIViewContentModeScaleAspectFill;
    // 超出边框的内容都剪掉
    self.ImageVIew.clipsToBounds = YES;

下面用图介绍几种常用的方式

Snip20161018_2.png

上图中的底部蓝色部分是设置好的UIImageView的宽和高
第一种是拉伸填充的;
第二种是等比填充的不会拉伸,居中显示;
第三种就是最上面的那种,他是等比缩放,要缩放到宽或者高有一个刚刚好,但是另一个(宽或者高)有可能也是刚刚好或者超出显示的部分(不会有显示的图片小与宽或者高),然后居中显示,超出的部分剪切掉;
UIImageView的contentMode的属性方式:

         UIViewContentModeScaleToFill : 图片拉伸至填充整个UIImageView(图片可能会变形)
         
         UIViewContentModeScaleAspectFit : 图片拉伸至完全显示在UIImageView里面为止(图片不会变形)
         
         UIViewContentModeScaleAspectFill : 
         图片拉伸至 图片的宽度等于UIImageView的宽度 或者 图片的高度等于UIImageView的高度 为止(居中显示)
         
         UIViewContentModeRedraw : 调用了setNeedsDisplay方法时,就会将图片重新渲染
         
         UIViewContentModeCenter : 居中显示
         UIViewContentModeTop,
         UIViewContentModeBottom,
         UIViewContentModeLeft,
         UIViewContentModeRight,
         UIViewContentModeTopLeft,
         UIViewContentModeTopRight,
         UIViewContentModeBottomLeft,
         UIViewContentModeBottomRight,
         
         经验规律:
         1.凡是带有Scale单词的,图片都会拉伸
         2.凡是带有Aspect单词的,图片都会保持原来的宽高比,图片不会变形
上一篇下一篇

猜你喜欢

热点阅读