UI基础视图----UIImageView总结
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总结的更多相关文章
- UI基础视图----UIWebView总结
UIWebView是UIKit框架中继承于UIView的一个常用的基础视图,和UILabel,UIImageView是兄弟类,用于展示一个网页. UIWebView是一个可以设置代理的类,在加载的不同 ...
- UI基础视图----UIView总结
UIView是UIKit框架里面最基础的视图类,是UIResponder的子类,是UIApplication和UIViewController的兄弟类,是UIWindow,UILabel,UIImag ...
- IOS开发-UI基础-视图
//------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...
- UI基础视图----UIScrollView总结
UIScrollView是UIKit框架下的很重要的视图类,是UIView的子类.UILabel,UIImageView,UIWebView分别用于展示文字,图片,网页,UILabel通过属性text ...
- UI基础视图----UILabel总结
UILabel是UIKit框架中非常常用的视图类,是UIView的子类,是UIWindow,UIImageView等的兄弟类,因为继承自UIView,所以继承了UIView中的属性和方法,大部分都可以 ...
- UI基础:视图控制器.屏幕旋转.MVC 分类: iOS学习-UI 2015-07-02 22:21 62人阅读 评论(0) 收藏
UIViewController 视图控制器,继承自UIResponder,作用:管理视图并且响应事件 功能: 1.分担APPdelegate的工作 2.实现模块独立,能提高复用性 创建UIViewC ...
- UI基础UIButton
UI基础UIButton 前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实 ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- Android UI基础教程 目录
从csdn下载了这本英文版的书之后,又去京东搞了一个中文目录下来.对照着看. 话说,这本书绝对超值.有money的童鞋看完英文版记得去买中文版的~~ Android UI基础教程完整英文版 pdf+源 ...
随机推荐
- UVALive 5792 Diccionário Portuñol
字符串匹配问题 有n个a串个m个b串,讲a的前缀和b的后缀粘在一起有多少个不同的新串. 首先求不同的前缀和后缀肯定好求了,就用字典树分别存一下a个倒过来的b. 那个问题就是解决例如,abcd,和bcd ...
- Linux 编译安装httpsqs
wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stab ...
- C++基于模板顺序表的实现(带排序)
说明:代码是可以运行的,但是发表在博客上后复制到编译器里面报N多错误,找了半天原因是网页里面生成了一些空白字符,这些字符编译器无法识别. 因此使用了2种插入格式插入代码. 第二个带注释解释的代码不可复 ...
- JS模拟键盘事件 -- 原理及小例子
提问: 键盘默认事件,比如tab切换,alt+f4关闭,ctrl+t新建等,如果不想通过键盘而是一些按钮点击来触发这些功能,该咋办呢? 例子: 先以tab为例上一个小例子: <!DOCTYPE ...
- python 微信推送模板消息
#!/usr/bin/env python #-*- coding: utf-8 -*- import httplib import json import MySQLdb #从数据库中获取acces ...
- http head
Accept HTTP_ACCEPT Accept-Charset HTTP_ACCEPT-CHARSET Accept-Encoding HTTP_ACCEPT-ENCODING Accept-La ...
- NET SignalR 与 LayIM2.0
ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现 前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于L ...
- ImageNet && 医学图像的识别
医学图像识别的问题 如果将CNN应用于医学图像,首要面对的问题是训练数据的缺乏.因为CNN的训练数据都需要有类别标号,这通常需要专家来手工标记.要是标记像ImageNet这样大规模的上百万张的训练图像 ...
- QEventLoop 的使用两例
熟悉的陌生人 Qt 是事件驱动的,所以当你用Qt的时候,几乎时时刻刻和 QEventLoop 打交道.,只是你可能没有意识到: QCoreApplicaton::exec() QApplication ...
- OpenJTAG+Eclipse 3.5+GDB+Mini2440图文教程
OpenJTAG+Eclipse 3.5+GDB+Mini2440图文教程 OpenJTAG与JLink的区别比较: 相同点:都同时具备USB转JTAG.USB转串口功能 差别: 1. 操作系统: O ...