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

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

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

0:准备图片

  首先添加三张本地图片

 /**
* 0:准备图片
*/
- (void)prepareImage
{
self.image1 = [UIImage imageNamed:@"apple1"];
self.image2 = [UIImage imageNamed:@"apple2"];
self.image3 = [UIImage imageNamed:@"apple3"];
}

1:静态图片展示

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

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

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

2:动态图片展示

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

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

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

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

UI基础视图----UIImageView总结的更多相关文章

  1. UI基础视图----UIWebView总结

    UIWebView是UIKit框架中继承于UIView的一个常用的基础视图,和UILabel,UIImageView是兄弟类,用于展示一个网页. UIWebView是一个可以设置代理的类,在加载的不同 ...

  2. UI基础视图----UIView总结

    UIView是UIKit框架里面最基础的视图类,是UIResponder的子类,是UIApplication和UIViewController的兄弟类,是UIWindow,UILabel,UIImag ...

  3. IOS开发-UI基础-视图

    //------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...

  4. UI基础视图----UIScrollView总结

    UIScrollView是UIKit框架下的很重要的视图类,是UIView的子类.UILabel,UIImageView,UIWebView分别用于展示文字,图片,网页,UILabel通过属性text ...

  5. UI基础视图----UILabel总结

    UILabel是UIKit框架中非常常用的视图类,是UIView的子类,是UIWindow,UIImageView等的兄弟类,因为继承自UIView,所以继承了UIView中的属性和方法,大部分都可以 ...

  6. UI基础:视图控制器.屏幕旋转.MVC 分类: iOS学习-UI 2015-07-02 22:21 62人阅读 评论(0) 收藏

    UIViewController 视图控制器,继承自UIResponder,作用:管理视图并且响应事件 功能: 1.分担APPdelegate的工作 2.实现模块独立,能提高复用性 创建UIViewC ...

  7. UI基础UIButton

    UI基础UIButton 前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实 ...

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

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

  9. Android UI基础教程 目录

    从csdn下载了这本英文版的书之后,又去京东搞了一个中文目录下来.对照着看. 话说,这本书绝对超值.有money的童鞋看完英文版记得去买中文版的~~ Android UI基础教程完整英文版 pdf+源 ...

随机推荐

  1. poj3685 二分套二分

    F - 二分二分 Crawling in process... Crawling failed Time Limit:6000MS     Memory Limit:65536KB     64bit ...

  2. web标准(复习)--4 纵向导航菜单及二级弹出菜单

    今天我们开始学习纵向导航菜单及二级弹出菜单,包含以下内容和知识点: 纵向列表 标签的默认样式 css派生选择器 css选择器的分组 纵向二级列表 相对定位和绝对定位 一.纵向列表纵向列表或称为纵向导航 ...

  3. 转载:JAVA中使用JSON进行数据传递

    转载网址:http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html 最近在做一个基于JAVA Servlet的WEB应用以及对应的An ...

  4. 编译protobuf-2.5.0中的错误处理

    最近在编译protobuf-2.5.0源码的时候发现的错误已经应对方法 1. 在源码目录执行 ./configure 命令的时候,发生如下错误 error: C++ preprocessor &quo ...

  5. HTML&CSS基础学习笔记1.13—无序列表

    无序列表 有时我们的工作繁忙,杂事很多,怕忘记,就会把事情一件件列出来,防止忘记. 它们的排列顺序对于我们来说并不重要,可以随意调换,我们将它称为无序列表,HTML里用<ul>标签来表示无 ...

  6. Python读取Yaml文件

    近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...

  7. Effective Java Item3:Enforce the singleton property with a private constructor or an enum type

    Item3:Enforce the singleton property with a private constructor or an enum type 采用枚举类型(ENUM)实现单例模式. ...

  8. 瞬态抑制二极管TVS的基本知识

    二极管是大家熟悉的元件,但瞬态抑制二极管就可能不太熟悉了.本文将介绍这种特殊二极管的用途. 工作原理等基本知识.各种电子设备中的各种半导体器件,一般都在直流低电压范围各作;如果在电源中串入一个瞬间上百 ...

  9. Qt使用MinGW编译,如何忽略警告

    Qt编译时经常出现以下警告: warning: unused parameter 'arg1' [-Wunused-parameter] warning: unused variable 'i' [- ...

  10. CentOS6.5切换 语言(附带6.5官方下载地址)

    1 在终端中输入命令[sudo vim /etc/sysconfig/i18n]来编辑i18n文件, 2 把“zh_CN.UTF-8”修改为“en_US.UTF-8”, 3 保存修改并退出,如果提示这 ...