UIImageView和UILabel一样,也是UIKit框架中非常常用的视图类。继承关系和UILabel完全一致(都是继承于UIView),功能也相似(用户交互都默认为关,主要用于展示),只不过UIImageView用于展示图片,UILabel用于展示文字。

  UIImageView主要用于展示两种图片,一种是静态图片,也是最基础的用法,另一种是动态图片(一组图片产生的动画效果)。所以UIImageView除了可以使用从UIView继承下来的动画效果外,还可以使用自己的动画效果(显然自己的更常用)。

  所以,UIImageView主要功能就是展示图片,展示类型有两种,一种是单独一张图片(静态),一种是一组图片(动态),可以使用UIImageView制作一个gif动图。

0:准备图片

  首先添加三张本地图片

1 /**
2  *  0:准备图片
3  */
4 - (void)prepareImage
5 {
6     self.image1 = [UIImage imageNamed:@"apple1"];
7     self.image2 = [UIImage imageNamed:@"apple2"];
8     self.image3 = [UIImage imageNamed:@"apple3"];
9 }

1:静态图片展示

  静态图片其实就是给UIImageView的image属性赋值。

  注意:在实例化UIImageView的时候,使用initWithImage:进行实例化,或者后面设置image属性,而不再设置imageView的frame,imageView直接使用image的frame,那么,有两种情况:一是image本身比较小,那么就会按照image的frame大小显示。而如果image的frame太大,可能就会不显示,遇到这个问题可以使用frame初始化再设置属性image。

 1 /**
 2  *  1:静态图片展示
 3  */
 4 - (void)staticImageShow
 5 {
 6     //1:UIImageView自己独有的初始化方法
 7     self.imageView1 = [[UIImageView alloc] initWithImage:self.image1];
 8     //2:这里imageView1的frame如果不设置,imageView1的frame就会默认为image1的frame,(在image1的frame小于屏幕的情况下),根据需要设置
 9     self.imageView1.frame = CGRectMake(100, 100, 100, 100);//设置frame属性,从UIView继承过来的属性
10     self.imageView1.image = self.image2;//imageView1的图片可以通过image后期进行设置
11     //3:用户交互属性
12     self.imageView1.userInteractionEnabled = YES;//,默认是NO,如果需要加手势要设置为YES
13     [self.view addSubview:self.imageView1];//父视图来添加子视图
14 }

2:动态图片展示

  其实就是加了一组图片到数组里,然后设置动画时间和重复次数,然后开启动画。

  注意:动画必须手动开启。

 1 /**
 2  *  2:动态图片展示
 3  */
 4 - (void)dynamicImageShow
 5 {
 6     //1:使用从UIView继承来的方法实例化
 7     self.imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 300, 100, 100)];
 8     //2:设置属性animationImages,是一个数组
 9     self.imageView2.animationImages = @[self.image1, self.image2, self.image3];
10     self.imageView2.animationRepeatCount = 100;//动画重复次数,默认是0(切记:0是无穷大),默认会无限重复
11     self.imageView2.animationDuration = 1;//设置一次动画持续的时间。
12     [self.imageView2 startAnimating];//开启动画,动画必须手动开启
13 //    [self.imageView2 stopAnimating];//关闭动画,可以在需要的时候手动关闭
14     [self.view addSubview:self.imageView2];
15 }

最终显示效果为:上面一张静态图,下面一张类似于gif的动态图。

转载于:https://www.cnblogs.com/zhangys/p/5057425.html

UI基础视图----UIImageView总结相关推荐

  1. iPhone开发教程 UI基础课程(58课时)

    qianqianlianmeng iPhone开发教程 UI基础课程(58课时) 第一章   iPhone开发入门 UI基础课程 第一章 iPhone开发入门 1.1 iOS概述和架构         ...

  2. iOS从初级到精通就业 UI基础-栾斌-专题视频课程

    iOS从初级到精通就业 UI基础-12502人已学习 课程介绍         本课程涵盖UIKit框架大多数基础常用控件的使用,以及页面跳转,页面传值,可视化编程等项目开发中常用技术. 课程收益   ...

  3. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  4. IOS开发基础之UI基础的团购源码完整版本

    IOS开发基础之UI基础的团购源码完整版本 // // ViewController.m // 17-团购案例 // // Created by 鲁军 on 2021/2/4. //#import & ...

  5. 自定义UI 基础知识

    系列文章目录 HenCode报名链接:hencoder.ke.qq.com 自定义UI 基础知识 自定义UI 绘制饼图 自定义UI 圆形头像 自定义UI 自制表盘 自定义UI 简易图文混排 自定义UI ...

  6. iOS10 UI教程视图的绘制与视图控制器和视图

    iOS10 UI教程视图的绘制与视图控制器和视图 iOS10 UI视图的绘制 iOS10 UI教程视图的绘制与视图控制器和视图,在iOS中,有很多的绘图应用.这些应用大多是在UIView上进行绘制的. ...

  7. iOS10 UI教程视图的生命周期

    iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期.在视图的声明周期中最主要的有8个方法,分别为loadView().viewDidLoad().viewWill ...

  8. iOS10 UI教程视图调试

    iOS10 UI教程视图调试 iOS10 UI教程视图调试,当视图很复杂的时候,层次结构就不会很简单了.Xcode可以通过视图(View)调试帮助开发者解决层次结构复杂的问题.视图调试是在Xcode ...

  9. iOS10 UI教程视图和子视图的可见性

    iOS10 UI教程视图和子视图的可见性 iOS10 UI教程视图和子视图的可见性,一个父视图可以通过clipsToBounds属性,定义子视图在边界(边界就是父视图的框架也就是父视图可以显示的范围) ...

最新文章

  1. javascript的垃圾回收机制
  2. ArcGIS Javascript查询数据库并添加到地图上
  3. 解析html语言的软件,小程序解析html标签 div-Go语言中文社区
  4. 下载的VS2017工程编译出错的问题
  5. oracle如何复制表的索引,Oracle表与索引管理
  6. MVC设计模式深入理解
  7. 宣布 Windows Azure 通过 PCI DSS 合规性验证并且 ISO 认证范围扩大,同时正式发布 Windows Azure Hyper-V 恢复管理器和其他更新功能...
  8. 好好的活,简简单单过!
  9. map集合遍历的五种方法
  10. 网络核心之数据交换-报文、分组交换2
  11. 关于vue脚手架cli3.0版本的一篇有关配置的文章,可以借鉴
  12. 计算机病毒是计算机软件出现的故障,计算机病毒引发故障有哪些
  13. c语言作业 分解质因数,分解质因数(C语言)
  14. 实现人脸手动祛痘效果---OpenCV-Python开发指南(60)
  15. nyoj 54-小明的存钱计划 (遍历 + 判断)
  16. mysql timestamp 差值_SQL计算timestamp的差值实例分享
  17. 计算机病毒装逼桌面,3个Win10神秘装逼小技巧
  18. linux系统tar命令慢,Linux系统下tar命令的使用技巧
  19. Python中除法取整以及求余数(模)的方式
  20. 【附源码】计算机毕业设计JAVA九宫格日志网站

热门文章

  1. 第五周实践项目7 后缀表达式
  2. deconv--反褶积和多项式除法
  3. laplacian算子的运用
  4. vue项目适应不同屏幕做的适配器
  5. Luogu P1654 OSU! | 期望
  6. 让字体图标代替雪碧图,减少请求带宽
  7. oracle 快速复制一张表,并在此创建索引,日志及并行度
  8. 原 iOS面试题收集
  9. 分享个人预算系统源码(含说明文档)
  10. mysql报错ERROR 1206 (HY000): The total number of locks exceeds the lock table size的解决方法...