UIView下使用Animation控制动画
动画效果是IOS界面重要的特色之一,其中CAAnimation是所有动画对象的抽象父类,而对于新手,使用较多的是UIView下的动画方法(类方法)。使用UIView下的动画,有下面几个方法。
方法一:设置beginAnimations
其中memberView为需要添加的子视图的视图,mivc.view为子视图,在使用的时候,需要将这两个地方替换
[cpp]
[UIView beginAnimations:@"view flip" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:memberView cache:YES];
[memberView addSubview:mivc.view];
[UIView commitAnimations];
需要注意的是,一定要使用[UIView commitAnimations];动画才会生效
通过[UIView setAnimationDuration:1]; 设置持续时间。
在IOS4.0后,我们有了新的方法,+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion,依然是UIView的类方法,但使用到了Block对象,Block对象是一组指令,可以传递(像变量一样),可以把它想像成C语言的函数指针。
方法二:
其中在当前视图下,删除[blueViewController view],添加[yellowViewController view],在使用时,这两个地方要替换
[cpp]
[UIView transitionWithView:self.view
duration:0.2
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [[blueViewController view] removeFromSuperview]; [[self view] insertSubview:yellowViewController.view atIndex:0]; }
completion:NULL];
其中animations:后的block为对特定视图发生的改变,其不能为是NULL,completion:后block为动画执行完后,需要执行的代码块,可以为NULL。
根据手册,在整个动画过程中,用户交互对于此视图是暂时无效的(而IOS5.0前,动画过程中,用户交互对于整个应用是无效的),如果想要用户可以和视图交互,可以改变 UIViewAnimationOptionAllowUserInteraction 的值。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>
今日头条
更多>>您可能感兴趣的文章
- iPhone开发学习笔记006—— NSNotification自定义通知名
- (iPhone/iPad开发)presentViewController相应方法在SDK5.0前后
- iPhone应用开发之十一:常用的三种动画表现效果
- Memory on the iPhone
- Lexical or Preprocessor Issue 'xxx.h
- Android:实现TabWidget选项卡按钮在屏幕下方
- ios学习笔记(二)xcode 4.3.2下实现基本交互
- 多线程之NSInvocationOperation
- iphone开发之object c基础一定义接口
- ios开发问题:添加库和复制其它工程文件编译错误问题