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()方法. 创建模态窗口时,要有一个模态窗口的模板和对应的 ...
随机推荐
- Windows Server 2008 R2入门之用户管理
一.用户账户概述: ”用户”是计算机的使用者在计算机系统中的身份映射,不同的用户身份拥有不同的权限,每个用户包含一个名称和一个密码: 在Windows中,每个用户帐户有一个唯一的安全标识符(Secur ...
- Java并发编程(七)线程封闭
当访问共享的可变数据时,通常需要使用同步.一种避免使用同步的方式就是不共享数据. 如果仅在单线程内访问数据,就不需要同步.这种技术被称为线程封闭(Thread Confinement),它是实现线程安 ...
- FD_CLOEXEC用法及原因_转
转自:使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符 我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续exec新的程序.这就不得不提到子进程中无用文件描 ...
- Git使用技巧(3)-- 远程操作
Git远程操作详解 作者: 阮一峰 编辑更新:shifu204 日期: 2016年9月1日 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操 ...
- 【转】【Mac系统】之ADB命令总结
参考文章: 张明云:<Android ADB命令大全(通过ADB命令查看wifi密码.MAC地址.设备信息.操作文件.查看文件.日志信息.卸载.启动和安装APK等)> Yjnull:< ...
- Spring入门第一例
通过多天对基础语法的学习,早就向往一睹SPRING的芳容.今天按照ITEYE 唐的 教程,第一次运行Spring成功,步骤及注意事项如下: 一.基础环境 Jdk1.8, Eclipse4.71 .Sp ...
- 在Xcode中使用Git进行源码版本控制(转)
http://www.cocoachina.com/ios/20140524/8536.html
- Django项目笔记:sessions处理以及复杂对象序列化
前言:一点题外话 我发现,不更新博客的时候,不是非常忙,就是效率非常低.最近没怎么更新博客,原因是第二种= =.惭愧惭愧. 今天效率出奇的高,一天时间把PassNote后端的接口全部写完了,Djang ...
- Python 邮箱
#coding:utf-8from email.header import Headerfrom email.mime.text import MIMETextfrom email.utils imp ...
- 爬虫实战【6】Ajax内容解析-今日头条图集
Ajax技术 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). Ajax并不是新的编程语言,而是一种使用现有标准的新方法,当然 ...