使用block创建UIView animation动画效果(包含常用几种方法)
2011-06-10 11:56
579 查看
使用Block 创建
不使用block
(1)
(2)
这里使用了setType与setSubtype组合,这使用个比较保险,因为他的参数就是官方API里定义的,他们的参数说明可以参考如下:
(3)最后再给出一种常用代码
-(void)showBuyNowView { NSArray* arrViews = [[NSBundle mainBundle] loadNibNamed:@"BuyNowView" owner:self options:0]; NMBuyNowVeiw* buy = [arrViews objectAtIndex:0]; _buyNowView = buy; buy.frame = CGRectMake(0, 500, 320, 20); [self.view addSubview:buy]; [UIView animateWithDuration:0.2 delay:0 options: UIViewAnimationCurveEaseOut animations:^{ //[UIView setAnimationTransition:transition forView:buy.superview cache:YES]; buy.frame = CGRectMake(0, 380, 320, 20); } completion:^(BOOL finished){ NSLog(@"Done!"); }]; }
不使用block
(1)
[UIView beginAnimations:@"Curl"context:nil];//动画开始 [UIView setAnimationDuration:0.75]; [UIView setAnimationDelegate:self]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myview cache:YES]; [myview removeFromSuperview]; [UIView commitAnimations];
(2)
CATransition *animation = [CATransition animation]; [animation setDuration:1.25f]; [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; [animation setType:kCATransitionReveal]; [animation setSubtype: kCATransitionFromBottom]; [self.view.layer addAnimation:animation forKey:@"Reveal"];
这里使用了setType与setSubtype组合,这使用个比较保险,因为他的参数就是官方API里定义的,他们的参数说明可以参考如下:
(3)最后再给出一种常用代码
// Curl the image up or down CATransition *animation = [CATransition animation]; [animation setDuration:0.35]; [animation setTimingFunction:UIViewAnimationCurveEaseInOut]; if (!curled) { //animation.type = @"mapCurl"; animation.type = @"pageCurl"; animation.fillMode = kCAFillModeForwards; animation.endProgress = 0.99; } else { //animation.type = @"mapUnCurl"; animation.type = @"pageUnCurl"; animation.fillMode = kCAFillModeBackwards; animation.startProgress = 0.01; } [animation setRemovedOnCompletion:NO]; [view exchangeSubviewAtIndex:0 withSubviewAtIndex:1]; [view addAnimation:animation forKey"pageCurlAnimation"]; // Disable user interaction where necessary if (!curled) { } else { } curled = !curled;
相关文章推荐
- 使用IIS6.0遇到问题后,常用的几种解决方法
- iOS使用xib手动实现动画效果的方法
- Android控件的动画效果的实现及其AnimationListener和Interpolator的使用方法
- UITableView使用reloadData的几种动画方法
- Android控件的动画效果的实现及其AnimationListener和Interpolator的使用方法
- 几种常用控件的使用方法
- EF5+MVC4系列(5) 删除的方法 1:系统推荐的先查询后remove删除的方法 2:自己new一个包含主键的类,然后 attach附加 remove删除;3:使用db.Entry 修改状态删除4:EntityState的几种状态
- cocos2dx 3.x(实现帧动画(人物动画,跑马灯效果)的几种方法)
- 几种常用控件的使用方法
- CABasicAnimation学习Demo 包含了一些经常使用的动画效果
- jquery each的几种常用的使用方法示例
- 动画技巧之——Scroller类的使用与滑动的几种方法
- 最常用的PowerPoint动画效果及设置方法
- IOS UITableViewCell常用几种动画效果
- jquery中的动画效果方法animate()及其回调函数的使用
- delay()--一个很常用的jquery方法,制作页面动画效果的利器
- 购物车增加、减少商品时动画效果:jQuery.Fly.js插件使用方法
- 使用ngView配合AngularJS应用实现动画效果的方法
- Jquery animate动画效果 使用变量替换key的方法
- 使用SQL语句实现SPLIT效果的几种方法