首页 > 代码库 > ios 动画学习(-)UIView 自带动画
ios 动画学习(-)UIView 自带动画
ios 开发中,一些常用的简单的动画可以用 uivew 自带的动画来是实现
今天就学习下 UIVIew 一些常用的动画
1.
// 翻转的动画 [UIView beginAnimations:@"doflip" context:nil]; //设置时常 [UIView setAnimationDuration:1]; //设置动画淡入淡出 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //设置代理 [UIView setAnimationDelegate:self]; //设置翻转方向 [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.redView cache:YES]; //动画结束 [UIView commitAnimations];
效果:
2. 位移动画
[UIView beginAnimations:@"move" context:nil]; [UIView setAnimationDuration:2]; [UIView setAnimationDelegate:self]; //改变它的frame的x,y的值 self.redView.frame=CGRectMake(100,100, 120,100); [UIView commitAnimations];
效果:
另一种写法:
[UIView animateWithDuration:0.5 delay:0.1 usingSpringWithDamping:0.5 initialSpringVelocity:5.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ CGPoint point = _redView.center; point.y += 150; [_redView setCenter:point]; } completion:^(BOOL finished) { }];
效果:
3.关键帧动画
void (^keyFrameBlock)() = ^(){ // 创建颜色数组 NSArray *arrayColors = @[[UIColor orangeColor], [UIColor yellowColor], [UIColor greenColor], [UIColor blueColor], [UIColor purpleColor], [UIColor redColor]]; NSUInteger colorCount = [arrayColors count]; // 循环添加关键帧 for (NSUInteger i = 0; i < colorCount; i++) { [UIView addKeyframeWithRelativeStartTime:i / (CGFloat)colorCount relativeDuration:1 / (CGFloat)colorCount animations:^{ [_redView setBackgroundColor:arrayColors[i]]; }]; } }; [UIView animateKeyframesWithDuration:5.0 delay:0.0 options:UIViewKeyframeAnimationOptionCalculationModeCubic | UIViewAnimationOptionCurveLinear animations:keyFrameBlock completion:^(BOOL finished) { // 动画完成后执行 // code... }];
效果:
ios 动画学习(-)UIView 自带动画
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。