IOS 动画
//uiview动画 //开始动画 [UIView beginAnimations:nil context:nil]; //运动的时间 [UIView setAnimationDuration:2.f]; //延时启动 [UIView setAnimationDelay:2]; //速度曲线(可以改变速度) [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; //代理 [UIView setAnimationDelegate:self]; //代理方法 开始时候执行 [UIView setAnimationWillStartSelector:@selector(start)]; //结束时候执行 [UIView setAnimationDidStopSelector:@selector(stop)]; //重复执行 [UIView setAnimationRepeatAutoreverses:YES]; //重复几次 [UIView setAnimationRepeatCount:2]; //重复 [UIView setAnimationsEnabled:YES]; //翻转 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.Testview cache:YES]; //动画过程 self.Testview.backgroundColor = [UIColor colorWithRed:arc4random()%255/256.0 green:arc4random()%255/256.0 blue:arc4random()%255/256.0 alpha:1]; //提交动画 [UIView commitAnimations];
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(76, 191, 87);">//<span style="font-family: 'Heiti SC Light';">系统自带</span>block</p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(76, 191, 87);"> [UIView animateWithDuration:2.f animations:^{</p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(76, 191, 87); min-height: 21px;"> </p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(76, 191, 87);"> }];</p><p style="margin-top: 0px; margin-bottom: 0px; font-size: 18px; font-family: Menlo; color: rgb(76, 191, 87);"><pre name="code" class="objc">[UIView transitionWithView:self.view duration:2.f options:(UIViewAnimationOptionTransitionFlipFromTop) animations:^{ NSLog(@"开始动画"); self.MyView.backgroundColor = [UIColor greenColor]; } completion:^(BOOL finished) { self.MyView.backgroundColor = [UIColor orangeColor]; NSLog(@"动画结束"); }];
[UIView animateWithDuration:2.f animations:^{ // self.MyView.transform = CGAffineTransformTranslate(self.MyView.transform, 0.5f, 0.5f); self.MyView.transform = CGAffineTransformRotate(self.MyView.transform, M_PI_2); }];
<pre name="code" class="objc">//模拟自带block自己写的方法 -(void)myAnimationDuration:(NSTimeInterval)time animation:(myBlock)ani { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:time]; ani(); [UIView commitAnimations]; }
//给view设置边缘 描边粗细 self.myview.layer.borderWidth = 20; //描边颜色(注意类型转换) self.myview.layer.borderColor = [UIColor yellowColor].CGColor; //阴影偏移 self.myview.layer.shadowOffset = CGSizeMake(50, 50); //阴影颜色 self.myview.layer.shadowColor = [UIColor grayColor].CGColor; //阴影透明度 self.myview.layer.shadowOpacity = 0.8; //模糊程度 self.myview.layer.shadowRadius = 10
//第一种
<pre name="code" class="objc">CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; animation.duration = 2.0; animation.repeatCount = 30; animation.autoreverses = YES; NSArray *array = @[[NSValue valueWithCGPoint:CGPointMake(25, 25)],[NSValue valueWithCGPoint:CGPointMake(200, 25)],[NSValue valueWithCGPoint:CGPointMake(25, 200)],[NSValue valueWithCGPoint:CGPointMake(200, 200)]]; animation.values = array; [self.myview.layer addAnimation:animation forKey:@"asd"];
//第二种
<pre name="code" class="objc">CAAnimationGroup *group = [CAAnimationGroup animation]; //1 CABasicAnimation *animation1 = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; //初始值 animation1.fromValue = [NSNumber numberWithFloat:0.3]; //结束值 animation1.toValue = [NSNumber numberWithFloat:3.0]; //2 CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animationWithKeyPath:@"position"]; animation2.values = @[[NSValue valueWithCGPoint:CGPointMake(25, 25)],[NSValue valueWithCGPoint:CGPointMake(200, 25)],[NSValue valueWithCGPoint:CGPointMake(25, 200)],[NSValue valueWithCGPoint:CGPointMake(200, 200)]]; //3 group.duration = 2.0; group.autoreverses = YES; group.repeatCount = 3; group.animations = @[animation1,animation2]; [self.myview.layer addAnimation:group forKey:@"asd"];
//第三种
<pre name="code" class="objc">CATransition *ani = [CATransition animation]; /* pageCurl 向上翻一页 pageUnCurl 向下翻一页 rippleEffect 滴水效果 suckEffect 收缩效果,如一块布被抽走 cube 立方体效果 oglFlip 上下翻转效果 */ ani.type = @"cube"; ani.repeatCount = 200; ani.duration = 1; //方向 ani.subtype = kCATransitionFromLeft; [self.myview.layer addAnimation:ani forKey:@"an"];
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。