UIImageView
本地图片和网络图片的添加
- (void)viewDidLoad {
[super viewDidLoad];
//方法)添加本地图片
//创建一个全屏的imageOne
UIImageView *imageOne=[[UIImageView alloc]initWithFrame:self.view.frame];
//将本地图片touxiang.png赋给imageOne
imageOne.image = [UIImage imageNamed:@"touxiang.png"];
//将上面的设置添加到手机界面
[self.view addSubview:imageOne];
//手动创建一个imageTwo
UIImageView *imageTwo=[[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 300, 200)];
//将本地图片touxiang.png赋给imageTwo
imageTwo.image = [UIImage imageNamed:@"touxiang.png"];
//将上面的设置添加到手机界面
[self.view addSubview:imageTwo];
//方法)添加网络图片
//手动创建一个UIImageView类型
UIImageView *imageThree = [[UIImageView alloc]initWithFrame:CGRectMake(35, 100, 300, 200)];
//修改imageThree的颜色
imageThree.backgroundColor = [UIColor redColor];
//创建一个NSURL类型的用来接收网络图片的地址
//(!!!此处注意:因为网络图片大部分是http:开头的,所以要加上一下代码:
/*
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
*/
//位置是右击info.plist,选Open As,选Source Code,在一段<key><string>中添加进去,一定要在<string>这行结束后面添加。
NSURL *imageUrl = [NSURL URLWithString:@"http://img3.cache.netease.com/auto/2016/4/5/201604051738210abc4_550.jpg"];
//创建一个NSData类型的用来转换网络地址
NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
//因为是网络图片,所以这里我们在Documents文件夹里创建一个2.jpg的文件,将Data数据存放到2.jpg里
NSString *a = [NSHomeDirectory() stringByAppendingString:@"/Documents/2.jpg"];
[[NSFileManager defaultManager]createFileAtPath:a contents:imageData attributes:nil];
NSLog(@"%@", a);
//创建一个UIImage类型的用来接收图片
UIImage *image_Tmp = [UIImage imageWithData:imageData];
//将图片赋给imageThree
imageThree.image =image_Tmp;
//将上述设置添加到手机界面
[self.view addSubview:imageThree];
}
动画
#import "ViewController.h"
@interface ViewController (){
//新建一个动画
UIImageView *imagePlay;
//新建一个UIButton,控制点击播放
UIButton *myButton;
//新建一个数组,用来存放动画的素材
NSMutableArray *imageNumber;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//给动画分配空间,铺满屏幕
imagePlay = [[UIImageView alloc]initWithFrame:self.view.frame];
//设置动画的初始界面
imagePlay.image = [UIImage imageNamed:@"cat_eat0000.jpg"];
//将上面的设置添加到界面上
[self.view addSubview:imagePlay];
//给按钮分配空间,和设置位置和大小
myButton = [[UIButton alloc]initWithFrame:CGRectMake(50, 500, 300, 50)];
//设置按钮的颜色
myButton.backgroundColor = [UIColor redColor];
//设置按钮的方法
[myButton addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];
//设置按钮上的文字
[myButton setTitle:@"开始播放" forState:UIControlStateNormal];
//将按钮添加到动画上
[imagePlay addSubview:myButton];
//将动画设置成可交互的
imagePlay.userInteractionEnabled = YES;
//初始化数组,用来存放动画的图片
imageNumber = [[NSMutableArray alloc]initWithCapacity:10];
//for循环动画的张数,然后每张素材名称都是有规律的,利用i来遍历它
for (int i=0; i<40; i++) {
NSString *a = [NSString stringWithFormat:@"cat_eat00%.2d.jpg", i];
//新建一个UIImage类型的画面b,来转换并存放遍历出来的每一张a
UIImage *b = [UIImage imageNamed:a];
//将转换好的每一张画面b,存到数组中
[imageNumber addObject:b];
}
}
//按钮的方法,控制动画开始播放
-(void)play:(id)a{
//动画的素材库(来源),数组
imagePlay.animationImages = imageNumber;
//动画的时间
imagePlay.animationDuration = 1.8;
//动画播放的次数
imagePlay.animationRepeatCount = 1;
//动画开始播放
[imagePlay startAnimating];
}
假如 UIImageView 上面有一个Button,这时,就要让 UIImageView 可以被点击
baseIV.userInteractionEnabled=YES;//让UIImageView可以被点击