UIImageView
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- /*********UIImage***********/
- //由名字直接读取图片
- //优点:用时相对较短
- //缺点:读取之后会占用内存
- //如果图片较小,用名字直接读取
- UIImage *imageName = [UIImage imageNamed:@"1.png"];
- //UIImageView
- UIImageView *imageViewName = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
- imageViewName.image = imageName;
- [self.view addSubview:imageViewName];
- //由图片的路径读取图片
- //优点:读取之后不会占用内存
- //缺点:用时相对较长
- //如果图片较大,用路径直接读取
- //获取图片路径:相对路径
- //第一个参数:文件的名字
- //第二个参数:文件的类型
- NSString *path = [[NSBundle mainBundle] pathForResource:@"map" ofType:@"png"];
- UIImage *imagePath = [UIImage imageWithContentsOfFile:path];
- //UIImageView
- UIImageView *imageViewPath = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
- imageViewPath.image = imagePath;
- [self.view addSubview:imageViewPath];
- /**********UIImageView-动画效果*************/
- UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
- imageView.backgroundColor = [UIColor grayColor];
- imageView.image = [UIImage imageNamed:@"1.png"];
- /****动画效果相关属性****/
- //创建图片数组
- //开辟内存空间
- NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:];
- for (int i = ; i <= ; i ++) {
- [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"player%d.png",i]]];
- }
- //设置动画图片,需要接收一个数组,数组里面的类型必须是UIImage类型
- imageView.animationImages = array;
- //动画时间:数组里面所有的图片转一圈所用时间
- imageView.animationDuration = ;
- //循环次数:大于0的数:写几就循环几次,结束 0:无限循环
- imageView.animationRepeatCount = ;
- //tag
- imageView.tag = ;
- [self.view addSubview:imageView];
- //开始动画
- [imageView startAnimating];
- //UIButton
- UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
- button.frame = CGRectMake(, , , );
- button.backgroundColor = [UIColor redColor];
- [button setTitle:@"button" forState:UIControlStateNormal];
- [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:button];
- }
- #pragma mark - 按钮的点击事件:停止或开始动画
- - (void)buttonClick:(UIButton *)button{
- //找到UIImageView
- UIImageView *imageView = (UIImageView *)[self.view viewWithTag:];
- //停止动画
- // [imageView stopAnimating];
- static BOOL isAnimation = YES;
- if (isAnimation) {
- [imageView stopAnimating];
- isAnimation = NO;
- }else{
- [imageView startAnimating];
- isAnimation = YES;
- }
- }
//*********************************************
- //时间
- //第一个参数执行动作相隔的时间
- //第二个参数通知给谁:self
- //第三个参数:执行的相关方法
- //第四个参数:nil
- //第五个参数:是否重复执行 YES:重复 NO:不重复
- // [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(timer:) userInfo:nil repeats:YES];
- //self.view.bounds 以(0, 0)点为起点,全屏大小的view
- UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
- imageView.image = [UIImage imageNamed:@"back2.jpg"];
- [self.view addSubview:imageView];
- //动画效果的UIImageView
- UIImageView *birdView = [[UIImageView alloc] initWithFrame:CGRectMake(, , 60.5, )];
- //tag
- birdView.tag = ;
- //图片数组
- NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:];
- for (int i = ; i <= ; i ++) {
- [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"DOVE%d.png",i]]];
- }
- /**UIImageView的动画属性***/
- birdView.animationImages = array;
- birdView.animationDuration = ;
- birdView.animationRepeatCount = ;
- //开始动画
- [birdView startAnimating];
- [imageView addSubview:birdView];
- //控制bird位置
- [NSTimer scheduledTimerWithTimeInterval: target:self selector:@selector(changeFrame:) userInfo:nil repeats:YES];
- }
- #pragma mark - 改变bird的位置
- - (void)changeFrame:(NSTimer *)timer{
- UIImageView *imageView = (UIImageView *)[self.view viewWithTag:];
- static int i = ;
- [UIView animateWithDuration: animations:^{
- imageView.frame = CGRectMake( + (i++ * ), +arc4random()%, 60.5, );
- }];
- if ( +(i++ * ) > ) {
- imageView.frame = CGRectMake(, , 60.5, );
- i = ;
- }
- }
- #pragma mark - NSTimer的事件
- - (void)timer:(NSTimer *)timer{
- NSLog(@"timer");
- }
- #pragma mark - 按钮的点击事件
- - (void)buttonClick:(UIButton *)button{
- //UIView的动画效果
- //第一个参数:动画执行的时间
- //第二个参数:执行动作
- // [UIView animateWithDuration:3 animations:^{
- // self.view.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0];
- // }];
- //第一个参数:动画执行的时间
- //第二个参数:动画延迟执行的时间
- //第三个参数:动画执行的效果
- //第四个参数:执行动作
- //第五个参数:执行完要做的动作之后做的操作
- [UIView animateWithDuration: delay: options:UIViewAnimationOptionOverrideInheritedOptions animations:^{
- self.view.backgroundColor = [UIColor colorWithRed:arc4random()%/255.0 green:arc4random()%/255.0 blue:arc4random()%/255.0 alpha:1.0];
- } completion:^(BOOL finished) {
- // self.view.backgroundColor = [UIColor orangeColor];
- }];
- }
UIImageView的更多相关文章
- AFNetworking 3.0 源码解读(十)之 UIActivityIndicatorView/UIRefreshControl/UIImageView + AFNetworking
我们应该看到过很多类似这样的例子:某个控件拥有加载网络图片的能力.但这究竟是怎么做到的呢?看完这篇文章就明白了. 前言 这篇我们会介绍 AFNetworking 中的3个UIKit中的分类.UIAct ...
- 6. UIImageView 的使用
1. UIImageView 的认识 QQ:853740091 UIImageView 继承UIView,通过他的名字我们也可以看出这个是用来显示图片的 2. 使用方法 UIImageView *im ...
- UI控件(UIImageView)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; image1_ = [UIImage imageNa ...
- iOS--使用UIImageView进行GIF动图播放
大家好,好久没有跟新了.其实也就昨天到今天的时间. 前言:实际上,GIF动图文件中包含了一组图片及其信息数组,这些信息数据记录着这一组图片中各张图片的播放时长等信息,我们可以将图片和这些信息或取出来, ...
- UIImageView 自带动画+N张图片实现很炫的动画
gitHub上又看到个很炫的动画:https://github.com/MartinRGB/GiftCard-iOS 看了看他的代码,发现核心动画(就是把按钮包装成一个礼物盒)其实很简单,就是把一 ...
- IOS开发之Bug--关于UIImageView的使用
这里是遇到的一个关于使用UIImageView的小bug,bug就是加载不出来图片. 原因:如果图片资源是jpg文件,如果代码没有加后缀.jpg就会出现不加载出来的情况: 添加上.jpg就能加载出来了 ...
- UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果
上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...
- iOS中UIImageView的填充模式
UIImageView的填充模式 属性名称 imageV.contentMode枚举属性: @"UIViewContentModeScaleToFill", // 拉伸自适应填满整 ...
- NSBundle控件和UIImageView和UIButton区别
1.NSBundle 1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹 2> 利用mainBundle就可以访问软件资源包中的任何资源 3> 模拟器应 ...
随机推荐
- SubSonic3.0.0.4.3源码包与调用Dll
版本修改历史 3.0.0.4.3版修复了下面问题: 修正多表关联查询时,使用左关联和右关联出错问题修正DbDataProvider.cs类的ToEnumerable函数打开数据库链接后没有关闭的问题添 ...
- Objective-C中的内存管理
在编程语言中是少不了对内存的管理的,内存对于计算机来说是宝贵的资源,所以对使用不到的资源进行回收是很有必要的.OC中使用引用计数和垃圾回收来管理内存,在OC中为每个对象分配一个引用计数器,当对象刚刚被 ...
- 相克军_Oracle体系_随堂笔记010-SCN
1.SCN的意义?system change number 时间 先后.新旧 select dbms_flashback.get_system_change_number, SCN_TO ...
- HP-UX 11g RAC安装 记录
环境:HP-UX 11.31 + GI 11.2.0.4 + Oracle 11.2.0.4 背景:本文只对HP-UX平台安装11g RAC环境过程中,针对一些跟Linux平台有差异的地方进行简单记录 ...
- 几个步骤轻松搞定ASP.NET 依赖注入。
http://www.it165.net/pro/html/201407/17685.html 我在网上看到了这篇文章,这边文章主要说的方法就是通过读取配置文件来解决依赖注入的问题.但是每次新建一个依 ...
- 汽车之家一道SQL 面试题,大家闲来无事都来敲一敲
写在前面 上周去汽车之家面试,拿到这个SQL笔试题顿时感觉到有些陌生,因为好长时间不写SQL语句了,当时只写了表设计,示例数据和SQL语句都没写出来. 汽车之家应该用的SQL Server, 编程题一 ...
- java中List对象列表去重或取出以及排序
面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List<Student>容量10k以上,要求去重复.这里Student的重复标准是 ...
- 初来乍到 Java 和 .Net 迭代器功能
最近有一个需求是这样的, 根据键值对存储类型数据,也算是数据缓存块模块功能设计. 一个键对应多个值.每一个键的值类型相同,但是每个不同的键之间类型不一定相同. Java 设计如下 HashMap< ...
- jQuery图片轮播特效
效果预览:http://hovertree.com/texiao/jquery/51/ 这款特效有缩略图,包含文字说明和链接,可以自动播放,也可以手动切换. 使用的jQuery库版本为1.12.3 , ...
- 【开源】SoDiaoEditor 可能是目前最好用的开源电子病历编辑器(B/S架构)
此刻我的内心是忐忑的,这个标题给了我很大的压力,虽然很久以前我就在github上搜索一圈了,也没发现有其他更好的开源电子病历编辑器,如各位亲发现有更好的,烦请知会我一声. 该编辑器其实已经憋了很久了, ...