IOS界面(图片)翻转

IOS界面(图片)翻转

大家好,今天给大家分享界面(图片)翻转效果

我们先来看看翻转效果的实现

-(IBAction)switchViews:(id)sender
{
    [UIView beginAnimations:@"View Flip" context:NULL];
    [UIView setAnimationDuration:0.4];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    if (!self.yellowViewController.view.superview) {
        if(!self.yellowViewController){
            self.yellowViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Yellow"];
        }
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];


        [self.blueViewController.view removeFromSuperview];
        [self.view insertSubview:self.yellowViewController.view atIndex:0];
    }else{
        if(!self.blueViewController){
            self.blueViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Blue"];
        }
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
        [self.yellowViewController.view removeFromSuperview];
        [self.view insertSubview:self.blueViewController.view atIndex:0];

    }
    [UIView commitAnimations];
}

以上代码实现了动画块,指定动画持续时间。动画快的实现使用了UIview的类方法beginAnimations:context:声明。
例如以下代码:

[UIView beginAnimations:@"View Flip" context:NULL];
[UIView setAnimationDuration:0.4];

beginAnimations:context:接受的参数为两个,第一个代表动画标题,第二个参数指关联对象,那么在示例程序中我们只用NULL,因为没有必要指定对象。

现在我们来设置动画曲线

[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

设置动画效果 使用UIview的类方法setAnimationCurve,设置选项为:UIViewAnimationCurveEaseInOut,它的作用使使翻转由慢到快再到慢,整体的效果显得很自然流畅,当然还有一些其他的设置选项。

那么为了有一种更好的翻转效果,我们为其中一个视图添加左侧翻入,另一个视图添加右侧翻入,这样从视觉上我们就有一种很Happy的感觉,让人感觉不停的前后翻转。

看一下实现方法

右侧翻入

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];

左侧翻入

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];

cache在动画开始时生成一个快照,动画执行过程的每一步使用这个快照,而不是重绘视图。所以应该对动画视图进行缓存,除非在视图外观在动画执行过程中需要改变

以上就是效果实现方案

示例代码下载地址:http://download.csdn.net/detail/longshao_l/8775451

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值