iOS UIViewContentMode

一直以为都被这个属性所困扰, 遇到时总是一个一个试,并没有了解各种特点,看过很多作者说明,还是有点困扰,决定自己写个.

主要困扰我的是以下几个属性

  • UIViewContentModeScaleToFill
  • UIViewContentModeScaleAspectFit
  • UIViewContentModeScaleAspectFill
  • UIViewContentModeCenter

UIViewContentModeScaleToFill

是contentMode的默认值,此属性可以确保显示完整的图片,但是如果imageView的宽高比和图片的宽高比不一致,则图片会被拉伸.

UIViewContentModeScaleAspectFit 与UIViewContentModeScaleAspectFill

这两个属性都带有Aspect,意思就是使图片按照原来的宽高比进行拉伸,不同点是UIViewContentModeScaleAspectFit是可以确保显示完整的图片,而UIViewContentModeScaleAspectFill则会出现图片溢出,显示不全的现象.

UIViewContentModeCenter

不会拉伸图片,如果imageView的尺寸大于图片的尺寸,则会将图片居中显示,反之则会显示图片的中间部分在imageView

总结:

  • 带Scale的会拉伸图片,但不一定按照原来的宽高比拉伸
  • 带ScaleAspect的会拉伸图片,会按照原来的宽高比拉伸
  • 什么都不带的就按原图片大小来处理
  • 如果imageView的宽高比与图片的宽高比相同,则UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill三者没有区别.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容