1.功能:
(1)UIImageView是一个用来展示图片的UI控件
(2)除了能展示图片之外,还可以播放动画
2.如何创建 & 基本属性设置:
UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 465)];
imageView.image = [UIImage imageNamed:@"2"];//设置图片
imageView.highlightedImage = [UIImage imageNamed:@"3"];//设置高亮状态的图片
imageView.highlighted = YES;//设置高亮的状态
imageView.tag = 1000;//设置标记值
/*注:
(1)当一个图片视图做为一个父视图存在时,如果使用默认不接收用户交互的属性,那么加在该视图上的子视图也不能进行用户交互;
(2)如果一个子视图在父视图之外,那么,在点击这个子视图时,子视图不会接收事件响应
*/
imageView.userInteractionEnabled = YES;//默认情况 下,图片视图是不允许与用户进行用户交互的
[self.window addSubview:imageView]; //将imageView对象加载到window中才可以显示!
3.动画:
(1)创建一个装载动画图片的数组:
NSMutableArray * images = [[NSMutableArray alloc]init];
for (int i = 1; i<=8; i++) {
NSString * imageName = [NSString stringWithFormat:@"得瑟%d",i];//准备图片的名字
UIImage * image = [UIImage imageNamed:imageName];//创建图片
[images addObject:image];//加到数组里
}
imageView.animationImages = images;//将图片数组加到动画数组的方法中
(2)动画的播放参数设置:
imageView.animationDuration = 0.5;//设置动画播放的时间
imageView.animationRepeatCount = 0;//设置动画播放的次数
[self.window addSubview:imageView];//将imageView加到屏幕上
(3)动画的开始和结束设置:
[imageView startAnimating];//开始动画
[imageView stopAnimating];//结束动画
imageView.isAnimating //它的值是bool值
(4) 动画还有高亮状态下的动画,和普通动画是一样的,也是:设置“动画数组”/设置动画播放参数/设置动画播放或结束
imageView.highlightedAnimationImages = heightLightImages;//将高亮图片动画数组设置给imageView
imageView.highlighted = YES;//通过这个属性来切换他是否是高亮状态
3.动画 VS 动画效果:
(1)动画效果:
[UIView animateWithDuration:0.3 animations:^{
CGPoint center=snowFlake.center;
center.y+=20;
snowFlake.center=center;}];
(2)动画,是自己制作的加载图片合成的动画效果;而动画效果是使得animations block里面得动作较为连贯,有动画的效果,一般用来平滑操作平移、旋转、缩放等效果
4.transform属性:
(1)功能:这个属性称为“仿射变换矩阵”,使视图产生 平移/旋转/缩放 的效果
注:transform是UIView中的属性!(UIImageView是继承自UIView的)
(2)基本方法:
注:下面的方法,是基于标准仿射变换矩阵进行变换的,即:变换了一次就不再变化!
a.缩放
imageView.transform = CGAffineTransformMakeScale(-2, -2);//两个参数分别为水平方向和垂直方向
imageView.transform = CGAffineTransformScale(imageView.transform, 1.1, 1.1);//在现有的基础上进行变换
b.平移
imageView.transform = CGAffineTransformMakeTranslation(20, 20);//设置水平/垂直进行平移
[UIView animateWithDuration:0.3 animations:^{
imageView.transform = CGAffineTransformTranslate(imageView.transform, -20, 20);
}];
c.旋转
[UIView animateWithDuration:0.3 animations:^{
//imageView.transform = CGAffineTransformMakeRotation(M_PI);
imageView.transform = CGAffineTransformRotate(imageView.transform, M_PI_2);
}];
网友评论