- (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的更多相关文章

  1. AFNetworking 3.0 源码解读(十)之 UIActivityIndicatorView/UIRefreshControl/UIImageView + AFNetworking

    我们应该看到过很多类似这样的例子:某个控件拥有加载网络图片的能力.但这究竟是怎么做到的呢?看完这篇文章就明白了. 前言 这篇我们会介绍 AFNetworking 中的3个UIKit中的分类.UIAct ...

  2. 6. UIImageView 的使用

    1. UIImageView 的认识 QQ:853740091 UIImageView 继承UIView,通过他的名字我们也可以看出这个是用来显示图片的 2. 使用方法 UIImageView *im ...

  3. UI控件(UIImageView)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; image1_ = [UIImage imageNa ...

  4. iOS--使用UIImageView进行GIF动图播放

    大家好,好久没有跟新了.其实也就昨天到今天的时间. 前言:实际上,GIF动图文件中包含了一组图片及其信息数组,这些信息数据记录着这一组图片中各张图片的播放时长等信息,我们可以将图片和这些信息或取出来, ...

  5. UIImageView 自带动画+N张图片实现很炫的动画

    gitHub上又看到个很炫的动画:https://github.com/MartinRGB/GiftCard-iOS   看了看他的代码,发现核心动画(就是把按钮包装成一个礼物盒)其实很简单,就是把一 ...

  6. IOS开发之Bug--关于UIImageView的使用

    这里是遇到的一个关于使用UIImageView的小bug,bug就是加载不出来图片. 原因:如果图片资源是jpg文件,如果代码没有加后缀.jpg就会出现不加载出来的情况: 添加上.jpg就能加载出来了 ...

  7. UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果

    上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...

  8. iOS中UIImageView的填充模式

    UIImageView的填充模式 属性名称 imageV.contentMode枚举属性: @"UIViewContentModeScaleToFill", // 拉伸自适应填满整 ...

  9. NSBundle控件和UIImageView和UIButton区别

    1.NSBundle 1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹 2> 利用mainBundle就可以访问软件资源包中的任何资源 3> 模拟器应 ...

随机推荐

  1. 基于Fragment的百度地图框架的使用

    博客:http://blog.csdn.net/developer_jiangqq (一)基本介绍(Fragment和SupportMapFragment): Fragment的使用现在安卓APP开发 ...

  2. 《ASP.NET MVC 5框架揭秘》样章发布

    今天算是新作<ASP.NET MVC 5框架揭秘>正式上架销售的日子(目前本书在互动网已经到货),为了让更多适合的朋友们能够阅读此书,同时也避免让不适合的读者误买此书,特将此书的样章发布出 ...

  3. 将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)

    上一节 first_local_net 已经就绪,下面创建 instance 并将其连接到该网络. 将 instance 连接到 first_local_net launch 一个 instance, ...

  4. 理解 Neutron Server 分层模型 - 每天5分钟玩转 OpenStack(69)

    本节开始讨论 Neutron 的各个服务组件,首先学习 Neutron Server . 上图是 Neutron Server 的分层结构,至上而下依次为: Core API对外提供管理 networ ...

  5. ASP.NET MVC之下拉框绑定四种方式(十)

    前言 上两节我们讲了文件上传的问题,关于这个上传的问题还未结束,我也在花时间做做分割大文件处理以及显示进度的问题,到时完成的话再发表,为了不耽误学习MVC其他内容的计划,我们今天开始好好讲讲关于MVC ...

  6. php使用post动态选择头像和js事件动态改变头像

    <html> <head> <meta http-equit="Content-type" content="text/html" ...

  7. .NET 中Barcode Library的应用二

    .NET中Barcode Library的应用二 介绍 在上一篇中我已经简单介绍了这个函数库(条形码应用之一------------函数库的简介).在这一篇中我将使用这个库提供更多的操作,希望对大家有 ...

  8. CSS中对图片(background)的一些设置心得总结

    写网页的时候很多情况需要对图片进行操作,如何在不进行专业的美工裁切操作的情况下而让自己的素材度达到最大的满意度呢,这是一个问题,对于懒得开ps切图的我,通常会直接在网络上download一张图片,直接 ...

  9. C#缓存操作

    1.缓存辅助方法类的接口代码: public interface IThrottleStore { /// <summary> /// 试图获取值 /// </summary> ...

  10. C# 中的as和is小结

    在读.Net 框架设计的时候,关于C#中类型转化中的部分内容,在此总结记录,分享予大家. 首先,我们声明一个简单的继承关系. Class Father { Int x; } Class Child:F ...