UI组件之UIImage
UIImageView:图像视图,用于在应用程序中显示图片
UIImage:是将图片文件转换为程序中的图片对象
UIImageView是UIImage的载体
方法一:用此方法创建图片对象,会将图片cache到内存中,如果图片很多,用此方法会占用较大内存,而且释放图像的内存也是一件相对麻烦的事,好处在于对一个图像对象只会cache到内存一次,对于图片复用非常好
UIImage *image=[UIImage imageNamed:(NSString *)]
方法二:用此方法创建图片对象,将图片以数据的形式加载到内存中,如果不需要复用图片,或者是一个很大的图片时推荐用此方法
UIImage *image=[UIImage imageWithData:(NSData *)]
方法三:用图片路径创建一个图片对象,一般用于比较大的图片,该方法不会将图片加载到内存,每次调用都是重新加载图片,虽然效率比较低,但是不会占用应用程序的活跃内存
UIImage *image=[UIImage imageWithContentsOfFile:(NSString *)]
获取图片文件的尺寸
CGSize size=image.size;
创建图片视图对象,默认情况下图片会按照imageView的尺寸显示
UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(100, 80, 100, 150)];
指定imageview中显示的图片对象
imageView.image=image;
设置图片在图片视图中的格式
imageView.contentMode=UIViewContentModeScaleToFill;
UIViewContentModeScaleAspectFill:图片会被拉伸,短边与imageView相同,图片会在imageview外显示
UIViewContentModeScaleAspectFit:图片会被拉伸,长边与imageview相同,图片一定在imageview中
UIViewContentModeScaleToFill:图片被拉伸(可能会变形)以填满整个imageview
动画的持续时间
imageView.animationDuration=1;
动画重复次数,如果设置0为无限循环
imageView.animationRepeatCount=0;
开始播放动画
[imageView startAnimating];
停止播放动画
[imageView stopAnimating];
获取是否正在播放动画
imageView.isAnimating;
UI组件之UIImage的更多相关文章
- iOS之UI组件整理
作者:神兽gcc 授权本站转载. 最近把iOS里的UI组件重新整理了一遍,简单来看一下常用的组件以及它们的实现.其实现在这些组件都可以通过Storyboard很快的生成,只是要向这些组件能够变得生动起 ...
- Atitit.web ui 组件化 vs mvc
Atitit.web ui 组件化 vs mvc 组件化 与 mvc并不矛盾..单双方适用的地方有所不同.. React推荐以组件的方式去重新思考UI构成,将UI上每一个功能相对独立的模块定 ...
- 这是一个比较全的Android UI 组件
Android组件及UI框架大全 原文地址:http://blog.csdn.net/smallnest/article/details/38658593 Android 是目前最流行的移动操作系统 ...
- AngularJs的UI组件ui-Bootstrap分享(一)
最近几个月学习了AngularJs和扩展的UI组件,并在公司小组内做了一次分享交流,感觉很有收获,在此记录下个人的学习心得. 目录: AngularJs的UI组件ui-Bootstrap分享(一) A ...
- AngularJs的UI组件ui-Bootstrap分享(十四)——Carousel
Carousel指令是用于图片轮播的控件,引入ngTouch模块后可以在移动端使用滑动的方式使用轮播控件. <!DOCTYPE html> <html ng-app="ui ...
- AngularJs的UI组件ui-Bootstrap分享(十三)——Progressbar
进度条控件有两种指令,第一种是uib-progressbar指令,表示单一颜色和进度的一个进度条.第二种是uib-bar和uib-progress指令,表示多种颜色和多个进度组合而成的一个进度条. 这 ...
- AngularJs的UI组件ui-Bootstrap分享(十二)——Rating
Rating是一个用于打分或排名的控件.看一个最简单的例子: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" x ...
- AngularJs的UI组件ui-Bootstrap分享(十一)——Typeahead
Typeahead指令是一个用于智能提示或自动完成的控件,就像Jquery的AutoComplete控件一样.来看一个最简单的例子: <!DOCTYPE html> <html ng ...
- AngularJs的UI组件ui-Bootstrap分享(十)——Model
Model是用来创建模态窗口的,但是实际上,并没有Model指令,而只有$uibModal服务,创建模态窗口是使用$uibModal.open()方法. 创建模态窗口时,要有一个模态窗口的模板和对应的 ...
随机推荐
- Step By Step(Lua调用C函数)
原文: http://www.cnblogs.com/stephen-liu74/archive/2012/07/23/2469902.html Lua可以调用C函数的能力将极大的提高Lua的可扩展性 ...
- 矩阵中的路径 剑指offer65题
include "stdafx.h" #include<vector> #include<algorithm> #include<string> ...
- Yarn源码分析之MRAppMaster:作业运行方式Local、Uber、Non-Uber
基于作业大小因素,MRAppMaster提供了三种作业运行方式:本地Local模式.Uber模式.Non-Uber模式.其中, 1.本地Local模式:通常用于调试: 2.Uber模式:为降低小作业延 ...
- hud项目lcd调试
lcd规格: 像素:480x280 bpp:16 pix_format:RGB565 在开发板终端中执行: ls /dev/fb0 -l ---> crw-rw---- 1 root ...
- kthreadd-linux下2号进程
参考: 1. linux常见进程与内核线程 2. Linux下2号进程的kthreadd--Linux进程的管理与调度(七) 本文中代码内核版本:3.2.0 kthreadd:这种内核线程只有一个,它 ...
- The Super Powers UVA 11752 分析分析 求无符号长整形以内的数满足至少可以用两种不同的次方来表示。比如64 = 2^6 = 8^2; 一个数的1次方不算数。
/** 题目:The Super Powers UVA 11752 链接:https://vjudge.net/contest/154246#problem/Y 题意:求无符号长整形以内的数满足至少可 ...
- Vim使用技巧(2) -- 插入模式技巧 【持续更新】
组合快捷键 Ctrl + h //删除前一个字母(同退格键) Ctrl + w //删除前一个单词 Ctrl + u //删除到行首 Esc //切换到普通模式 Ctrl + [ //切换到普通模式 ...
- 第1周---python网络爬虫规则
第一节:requests库入门 第二节:网络爬虫的"盗亦有道" 第三节:requests库的网络爬虫实例
- 构造方法、this和super
1.构造方法概述 创建对象的时候会调用构造方法.创建对象时需要给对象的属性初始化,这时需要有参的构造方法. 构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回 ...
- 循环遍历完成后再进行else判断
有时需要在循环遍历完后再进行else操作,通常的办法是在循环前设置一个flag,用于判断.具体例子如下: