ios基础篇(二)——UIImageView的常见用法
UIImageView是在界面上显示图片的一个控件,在UIImageView中显示图片的话应该首先把图片加载到UIImage中,然后通过其他方式使用该UIImage。
创建UIImageView有两种方法:
一种是用UIImage来加载:
UIImage *image = [UIImageimageNamed:@"picture"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
另一种是通过initWithFrame:来加载,然后手工修改UIImageView的属性:
UIImageView *imageView = [[UIImageView alloc] initWithImage:@"picture"];

//这里我用了第一种方法
UIImage *image = [UIImage imageNamed:@"u=2255024074,2191209375&fm=21&gp=0"];
//初始化
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view addSubview:imageView];
//背景颜色
imageView.backgroundColor = [UIColor blueColor];
//圆角
imageView.layer.cornerRadius = ;
imageView.layer.masksToBounds = YES;
//是否交互
imageView.userInteractionEnabled = YES;
//宽与高分别采用原图片的宽与高
float width = imageView.frame.size.width;
float height = imageView.frame.size.height;
//设置imageView的位置与尺寸
CGRect frame = imageView.frame;
frame.origin.x = ;
frame.origin.y = ;
frame.size.width = width;
frame.size.height = height;
[imageView setFrame:frame];
UIImageView的几种常用属性:
(1)设置圆角
imageView.layer.masksToBounds = YES;
imageView.layer.cornerRadius = 10;
(2)设置边框颜色和大小
imageView.layer.borderColor = [UIColor orangeColor];
imageView.layer.borderWidth = 2;
(3)contentMode属性:当图片小于imageView的大小处理图片显示
这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定:
UIViewContentModeScaleAspectFit:这个图片都会在view里面显示,并且比例不变,这就是说,如果图片和view的比例不一样就会有留白。
UIViewContentModeScaleAspectFill: 这是整个view会被图片填满,图片比例不变 ,这样图片显示就会大于view。
UIViewContentModeCenter ;UIViewContentModeTop;UIViewContentModeBottom;UIViewContentModeLeft;UIViewContentModeRight;
UIViewContentModeTopLeft;UIViewContentModeTopRight;UIViewContentModeBottomLeft;UIViewContentModeBottomRight(这几种就不一一解
释了,都是保持图片比例不变)。
(4)为图片添加单击事件:一定要先将userInteractionEnabled置为YES,这样才能响应单击事件
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ImageViewAction:)];
[imageView addGestureRecognizer:tap];
- (void)ImageViewAction:(UITapGestureRecognizer *)gesture{
imageView.backgroundColor = [UIColor yellowColor];
}
(5)播放一系列图片
UIImage *image1 = [UIImage imageNamed:@"p1"];
UIImage *image2 = [UIImage imageNamed:@"p2"];
UIImage *image3 = [UIImage imageNamed:@"p3"];
NSArray *imagesArray = @[image1,image2,image3];
imageView.animationImages = imagesArray;
//设定所有的图片在多少秒内播放完毕
imageView.animationDuration = [imagesArray count];
//不重复播放多少遍,0表示无数遍
imageView.animationRepeatCount = 0;
// 开始播放
[imageView startAnimating];
ios基础篇(二)——UIImageView的常见用法的更多相关文章
- iOS基础篇(十七)——UIGestureRecognizer用法
UIGestureRecognizer(手势识别)在iOS 中非常重要,他极大地提高了移动设备的使用便捷性: 在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)t ...
- php基础篇-二维数组排序 array_multisort
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...
- iOS开发多线程篇 08 —GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- JavaScript笔记基础篇(二)
基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt ...
- layui(二)——layer组件常见用法总结
layer是layui的代表作,功能十分强大,为方便以后快速配置这里对其常见用法做了简单总结 一.常用调用方式 //1.普通消息:alert(content,[options],[yesCallBac ...
- Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较
说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid Ap ...
- docker+k8s基础篇二
Docker+K8s基础篇(二) docker的资源控制 A:docker的资源限制 Kubernetes的基础篇 A:DevOps的介绍 B:Kubernetes的架构概述 C:Kubernetes ...
- Python基础篇(二)_基本数据类型
Python基础篇——基本数据类型 数字类型:整数类型.浮点数类型.复数类型 整数类型:4种进制表示形式:十进制.二进制.八进制.十六进制,默认采用十进制,其他进制需要增加引导符号 进制种类 引导符号 ...
- ios基础篇(五)——UITextField的详细使用
UItextFieldField通常用于外部数据输入,以实现人机交互. 以下是UItextFieldField的属性及常见用法: 1.textField :设置文本框的默认文本. 2.Placehol ...
- Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析
转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...
随机推荐
- CUBRID学习笔记 29 web管理中文语言文件 CUBRID教程
网站的中文语言文件部分 http://files.cnblogs.com/files/wang2650/Messages.7z
- ServiceStack.OrmLite 笔记5 改
修改 db.Update(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age ...
- Codeforces Round #199 (Div. 2)
A.Xenia and Divisors 题意:给定N个数,每个数的取值范围为1-7,N是3的倍数,判定是否能够恰好将N个数分成若干三元组,使得一个组中的元素a,b,c满足 a < b < ...
- iOS - OC SQLite 数据库存储
前言 采用 SQLite 数据库来存储数据.SQLite 作为一中小型数据库,应用 iOS 中,跟前三种保存方式相比,相对比较复杂一些. 注意:写入数据库,字符串可以采用 char 方式,而从数据库中 ...
- 使用Memory Analyzer tool(MAT)分析内存泄漏
前言的前言 写blog就是好,在大前提下可以想说什么写什么,不像投稿那么字字斟酌.上周末回了趟成都办事,所以本文来迟了.K117从达州经由达成线往成都方向走的时候,发现铁路边有条河,尽管我现在也不知道 ...
- [转载] Tmux 速成教程:技巧和调整
原文: http://blog.jobbole.com/87584/ 决定从 screen 转向 tmux 了, 非常喜欢 tmux 的窗格功能. 简介 有些开发者经常要使用终端控制台工作,导致最终打 ...
- 专题实验 PGA
PGA : 是完全为 server process 服务的, 在 server process 创建时被分配到, 在server process 终止时被释放. 而且是非共享的, 只独立服务于这个se ...
- 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)
安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径"C:\app\用户名\product ...
- JavaSE复习_5 Eclipse的常见操作
△用鼠标点击生成的java源文件,按下F4可以观察类的生成的层次结构 △window-showreview:可以显示命令窗口. window-perspective-reset:可以将打乱的命令窗 ...
- js数组知识
js数组 shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3, ...