zoukankan      html  css  js  c++  java
  • ios开发之--UIViewContentMode详解

    在开发当中有时会有这样的需求,将从服务器端下载下来的图片添加到imageView 当中展示,但是下载下来的图片尺寸大小不固定,宽高也有可能不成比例 如果直接设置imageView的image属性而不设置contentMode那么图片会默认填满整个容器,导致图片变形,影响美观.

    直接设置1个正方形的imageView的image属性 图片默认填充占满整个imageView就会变成填充模式.

    很明显感觉到人物已经变形了 .UIView 提供了1个属性 UIViewContentMode 来设置内容的填充模式

    typedef NS_ENUM(NSInteger, UIViewContentMode) { 
    //图片拉伸填充至整个UIImageView(图片可能会变形),这也是默认的属性,如果什么都不设置就是它在起作用 
    UIViewContentModeScaleToFill, 
    //图片拉伸至完全显示在UIImageView里面为止(图片不会变形) 
    UIViewContentModeScaleAspectFit,
    //图片拉伸至图片的的宽度或者高度等于UIImageView的宽度或者高度为止.看图片的宽高哪一边最接近UIImageView的宽高,一个属性相等后另一个就停止拉伸.
    UIViewContentModeScaleAspectFill,
    //调用setNeedsDisplay 方法时,就会重新渲染图片 //下面的属性都是不会拉伸图片的 UIViewContentModeRedraw, //中间模式 UIViewContentModeCenter, //顶部 UIViewContentModeTop, //底部 UIViewContentModeBottom, //左边 UIViewContentModeLeft, //右边 UIViewContentModeRight, //左上 UIViewContentModeTopLeft, //右上 UIViewContentModeTopRight, //左下 UIViewContentModeBottomLeft, //右下 UIViewContentModeBottomRight, };

    如上的枚举所示,设置图片的相应属性即可!

  • 相关阅读:
    产品流程关键点分析
    Hadoop分布式文件系统(HDFS)设计
    什么是产品经理
    转:互联网产品开发流程
    如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
    mobile app 与server通信的四种方式
    Android: Client-Server communication
    Android: Client-Server communication by JSON
    Samba 源码解析之SMBclient命令流
    Samba 源码解析之内存管理
  • 原文地址:https://www.cnblogs.com/hero11223/p/8580845.html
Copyright © 2011-2022 走看看