iOS UI开发之UIImageView swift版本

作者: littleGG 发布时间: 2019-08-19 浏览: 561 次 编辑

前言

  • UIImageView继承自UIView,因此拥有view的属性以及可以使用view的方法。

  • UIImageView极其常用,功能比较专一:显示图片


属性

1. 创建UIImageView 并设置图片

let imageview = UIImageView.init(image: UIImage.init(named: "logo"))


2. 设置UIImageView尺寸

imageview.frame = CGRect.init(x: 0, y: 0, width: 80, height: 80)


3. contentMode 填充方式

imageview.contentMode = .scaleToFill

常用的三个

case scaleToFill


case scaleAspectFit // contents scaled to fit with fixed aspect. remainder is transparent


case scaleAspectFill // contents scaled to fill with fixed aspect. some portion of content may be clipped.


补充

创建UIImageView的image对象的时候,可以有几种不同方法,主要差别体现在内存分配上:

1. 使用imageNamed

加载成功后系统会把图像缓存到内存,下次再读取时直接从缓存中获取,因此访问效率要比较高。

通常用于加载bundle中的小图片资源,一般应用于TableView中或者背景图片等。

2. 使用imageWithContentsOfFile

仅仅加载图片而不在内存中缓存下来,每次获取时都会根据路径重新去加载。

因为这是类方法加载的图片对象,会被放到自动释放池中,使用完后会被销毁回收内存,因此不会造成太多内存消耗

当图片比较大且需要频繁使用时,一般使用该方法

3. 使用initWithContentsOfFile

仅仅加载图片而不在内存中缓存下来,每次获取时都会根据路径重新去加载。

图片资源比较大,或者图片资源只使用一次就不再使用了,那么使用此种方式是最佳方式

4. 使用imageWithData

图像会被系统以数据方式加载到程序。

当不需要重用该图像,或者需要将图像以数据方式存储到数据库,又或者通过网络下载一个很大的图像时,使用该方法。