动画

作者: 哈酒拎壶冲 | 来源:发表于2016-02-27 11:44 被阅读155次

哈喽大家好 今天我就写一写我学动画是做的笔记吧##

首先建立viewController
声明变量
@proerty(weak,nonatomic)UIView *UIVIew
动画的属性

//开始动画
[UIView beginAnimation:@"动画属性" context:nil];
//setAnimationDuration设置动画的持续时间
[UIView setAnimationDuration:2];
//设置动画延迟时间
[UIView setAnimationDelay:1];
//设置重复次数
[UIView setAnimaitionRepeatCount:3];
//设置过度效果(动画效果控制)
[UIView setAnimationCurve:UIVIewAnimationCurveEaseInout];
这里有4种动画效果可用 只取一种用
//设置代理
[UIView setAnimationDelegate:self];
//给动画开始的时候添加事件 (一定要先设置代理)
[UIView setAnimationWillStartSelector:@selector(startAnimation)];
//设置动画界面的位置
_UIView.center = CGPointMake(300,70);
//给动画结束的时候添加事件
[UIView setAnimationDidStopSelector:@selector:(stopAnimation)];
//结束动画
[UIView commitAnimations];
}```
这是一个简单的动画

设置动画快的事件
```[UIView setAnimationDelay:1];
//一种方法
[UIView animationWithDuration:1 animations:^{
//动画进行时需要的操作
_UIView.backgroundColor = [UIColor yellowColor];
}];
//第二种方法
[UIView animationDuration:2 animations:^{
//动画进行时需要的操作
}
completion:^(BOOL finished){
//动画结束时需要的操作
}]
//第三种
[UIView animationDuration:2 delay:1 options:UIViewAnimationOptionAutoreverse animations:^{
//设置循环次数
[UIView setAnimationRepeatCount:4];
//动画进行时的事件
}completion;^(BOOL finish){
//动画结束时需要的操作
}];```

2D仿射变换
```[UIView beginAnimations:@"2D仿射变换" context:nil];
//动画持续时间
[UIView setAnimationDuration:2];
//动画重复次数
[UIView setAnimationRepeat:4];
// 旋转
//基于原始位置旋转
_UIView.transform = CGAffineTransformMakeRotation(M_PI_2/3);
//基于上一次旋转
_UIView.transform = CGAffineTransformRotate(_UIView.transform,M_PI_2/3);
// 缩放
//平面缩放
_UIView.transform = CGAffineTransformScale(3,0.5);
//旋转缩放
_UIView.transform = CGAffineTransformMake(-1,cos(M_PI_2),3,sin(M_PI_4),1,1);```

下边写下关于动画抖动的代码
```CABasicAnimation *basic = [CABasicAnimationWithKeyPath:@"bounds.size"];
CGSize fromSize = CGSizeMake(100,100);
CGSize toSize = CGSizeMake(20,200);
//设置初始值
basic.fromValue = [NSValue valueWithCGSize:fromSize];
basic.fromValue = [NSValue valueWithSize:toSize];
//动画只是一个效果 不会改变属性的值,若想要改变属性的值,需要我们手动改变
CGRect newRect = _UIView.layer.bounds;
newRect.size = toSize;
_UIView.layer.bounds = NewRect;
[_UIView.layer addAnimation:basic forKey:@"test"];
//取出UIView的layer层
CALayer *myLayer = _UIView.layer;
//获取layer位置
CGpoint position = mylayer.position;
//设置晃动时俩个终点的位置
CGPoint x1 = CGPointMake(position.x-10,position.y);
CGPoint x2 = CGPointMake(position.x+10,position.y);
//设置动画
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
//设置开始位置
[animation setFromValue:[NSValue valueWithCGPoint:x1]];
//设置结束位置
[animation setToValue:[NSValue valueWithCGPoint:x2]];
//设置自动翻转
[animation setAutoreverses:YES];
//设置持续时间
[animation setDuration:0.06];
//设置重复次数
[animation setRepeatCount:4];
//添加动画
[myLayer addAnimation:animation forkey:@"test"];```

这就是我学习的时候总结的一些笔记了

相关文章

  • Android回顾--(十六) 动画简析

    动画: 补间动画(Tween动画) 帧动画(Frame动画) 属性动画(Property动画) 补间动画 特点: ...

  • 在山西太原,做个二维动画需要哪些制作流程?

    二维动画有哪些类型? flash动画,课件动画,mg动画,ae动画,GIF动画,手绘动画,网页动画,企业动画,宣传...

  • Android 动画

    【Android 动画】 动画分类补间动画(Tween动画)帧动画(Frame 动画)属性动画(Property ...

  • 动画学习

    动画 分为 组动画,属性动画,渐变动画,其中属性动画包括 普通动画和关键帧动画,其他动弹动画,动画层分为 pres...

  • Android动画

    Android动画分类: 视图动画:补间动画、逐帧动画 属性动画 视图动画 补间动画 可以在xml中定义动画,然后...

  • iOS动画

    iOS动画-从UIView动画说起iOS动画-Transform和KeyFrame动画iOS动画-layout动画...

  • Android动画之视图动画

    分类 Android动画主要包括视图动画和属性动画。视图动画包括Tween动画和Frame动画。Tween动画又包...

  • Android 动画

    android动画分为三种 帧动画,视图动画(补间动画),属性动画逐帧动画 视图动画 属性动画 Window和A...

  • android动画

    动画: 分类:分为视图动画和属性动画,其中视图动画又分为补间动画和逐帧动画。补间动画又分为平移动画、缩放动画、旋转...

  • Android中的动画概述

    动画可以分为三类:View动画,帧动画,属性动画。 一、View动画 1.View动画包括四种:平移动画,缩放动画...

网友评论

    本文标题:动画

    本文链接:https://www.haomeiwen.com/subject/pjswkttx.html