在不同的窗口切换,但是它还不够,在很多iPad或者iphone的应用中动态的显示才能然我们的程序更加的美观,界面更加的友好.因此我们在切换窗口的时候加入动态的切换能使我们的程序更完美,来试试吧! 例子:动态的切换Animating the Transitions 1.用到上一节的例子MySecondViewController,在MySecondViewControlle.m文件中加入下面红色代码:
-(IBAction) buttonClicked: (id) sender{
//---add the view of the view controller to the current View---
viewController = [[HelloWorldViewController alloc]
initWithNibName:@“HelloWorldViewController”
bundle:nil];
[UIView beginAnimations:@“flipping view” context:nil];
-(IBAction) buttonClicked: (id) sender{ //---add the view of the view controller to the current View--- viewController = [[HelloWorldViewController alloc] initWithNibName:@“HelloWorldViewController” bundle:nil]; [UIView beginAnimations:@“flipping view” context:nil];
[UIView setAnimationDuration:1]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; [self.view addSubview:viewController.view]; [UIView commitAnimations]; } 2.在HelloWorldViewController.m文件中,加入下面的红色代码:
-(IBAction) btnClicked:(id) sender{ [UIView beginAnimations:@“flipping view” context:nil]; [UIView setAnimationDuration:1]; [UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.view.superview cache:YES]; [self.view removeFromSuperview]; [UIView commitAnimations]; } 3.保存,C+R,运行点击Ok按钮,看看我们界面的切换的变化.如图: 嘿嘿,怎么样?是要比上一节生硬的切换好玩吧! 这个是怎么样实现的呢?原理解释: 这是由UIView类里面的beginAnimation:方法来现实的,就是这句 [UIView beginAnimations:@“flipping view” context:nil]; 并且用setAnimationDuration:方法来制定动态的时间:(这里我们定义的是1秒钟,都是以秒为单位) [UIView setAnimationDuration:1]; 再用到setAnimationCurve:方法来设置动画的旋转曲度变化 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 我们可以根据后面的常量定义来修改动画的样式:
➤➤ UIViewAnimationCurveEaseInOut — 慢慢的开始,快速的过程,最后完成时刻又慢慢的结束 ➤➤ UIViewAnimationCurveEaseIn — 慢慢的开始,直接加速到结束
➤➤ UIViewAnimationCurveEaseOut — 快速的开始,然后慢慢的结束 ➤➤ UIViewAnimationCurveLinear — 匀速变化 大家可以自己修改后,多试试看,so easy! 通过setAnimationTransition:方法可以定义在动画的类型
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 看上面这句,主要是定义你动画的样式的,比如右进左出啊,这些 cache:参数定义是否将当前页面定义为一副图画进行动画操作,下面的这些常数可以定义我们动画的样式:
➤➤ UIViewAnimationTransitionNone — 没有过渡 ➤➤ UIViewAnimationTransitionFlipFromLeft —翻转一个视图从左向右 ➤➤ UIViewAnimationTransitionFlipFromRight — 翻转一个视图从右到左 ➤➤ UIViewAnimationTransitionCurlUp — 从上卷动 ➤➤ UIViewAnimationTransitionCurlDown — 从下卷动 在这个动画的结尾,需要用到commitAnimations:方法 [UIView commitAnimations]; HelloWorldViewController中动画的显示与在MySecondViewControlle中的类似,除了在父子页面的定义,就是说是哪个是父窗口,哪个是子窗口self.view.superview:
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.view.superview cache:YES]; iphone软件开发,安卓软件开发,无线时代,ios软件开发,android软件开发,ipad软件开发,电子菜谱,手机界面设计 |




