您的位置:首页 > 产品设计 > UI/UE

UIView属性动画

2016-03-11 00:00 399 查看
摘要: UIView属性动画

#pragma mark - 动画效果

- (void)rotateAnimation {

CGContextRef context = UIGraphicsGetCurrentContext();

[UIView beginAnimations:nil context:context];

// 动画速度 状态

[UIView setAnimationCurve:UIViewAnimationCurveLinear];

/**

缓慢开始和结束

UIViewAnimationCurveEaseInOut

开始时 缓慢

UIViewAnimationCurveEaseIn

结束时缓慢

UIViewAnimationCurveEaseOut

一直很慢

UIViewAnimationCurveLinear

*/

// 持续时间

[UIView setAnimationDuration:1.0];

// 覆盖

// [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:_parentView cache:true];

// 翻页

// [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:_parentView cache:true];

// x 轴 旋转

// [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:_parentView cache:true];

// x 轴 逆向 旋转

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_parentView cache:true];

[UIView commitAnimations];

}

Demo-->



// 属性动画 frame的改变
[UIView beginAnimations:@"shuxingdonghua" context:nil];

// 2秒完成(设置动画的持续时间)
[UIView setAnimationDuration:2];

// 延迟1秒(动画延迟开始时间) 感觉没啥用
//[UIView setAnimationDelay:10];

//重复次数 INT_MAX 等同无限循环
[UIView setAnimationRepeatCount:INT_MAX];

//设置原路返回
[UIView setAnimationRepeatAutoreverses:YES];

//设置动画效果
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

//(一定要先设置代理) 否则不调用添加方法
[UIView setAnimationDelegate:self];

// 给动画开始的时候添加事件(没有打印 需要设置代理)
[UIView setAnimationWillStartSelector:@selector(startAnimation)];

// 开始动画其实就已经到这里了 到达的位置
self.button.center = CGPointMake(300, 100);

// 开始动画 其实不添加也能播放 但是还是添加吧
[UIView commitAnimations];

简单,易懂,方便用,

这是我的原则.

demo下载:http://pan.baidu.com/s/1ntQXqtF

学自简书:阿童木'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: