一个界面内 动画切换多个view(webview)

1、添加手势
    UISwipeGestureRecognizer *swip = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(leftSwip:)];
    swip.direction = UISwipeGestureRecognizerDirectionRight;
    [web addGestureRecognizer:swip];

2、手势方法
- (void)leftSwip:(UIGestureRecognizer*)gesture{
    
    NSLog(@"----->");
    [web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
    [self reloadView:YES direction:TablViewAnimateRight];
//    [self shakeView];
}

3、添加下面方法就能切换动画
- (void)reloadView:(BOOL)animated direction:(int)direction
{
    if (animated) {
        
        CATransition* animation = [CATransition animation];
        [animation setType:kCATransitionPush];
        if (direction == TablViewAnimateLeft) {
            [animation setSubtype:kCATransitionFromLeft];
        } else {
            [animation setSubtype:kCATransitionFromRight];
        }
        
        [animation setTimingFunction:
         [CAMediaTimingFunction
          functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [animation setFillMode:kCAFillModeBoth];
        [animation setDuration:.3];
        [[self.view layer] addAnimation:animation
                            forKey:@"UITableViewReloadDataAnimationKey"];
    }
}

4、添加摇晃方法
-(void)shakeView
{
    CGFloat t = 6.0;
    CGAffineTransform translateRight  =CGAffineTransformTranslate(CGAffineTransformIdentity, t,0.0);
    CGAffineTransform translateLeft =CGAffineTransformTranslate(CGAffineTransformIdentity,-t,0.0);
    
    self.view.transform = translateLeft;
    
    [UIView animateWithDuration:0.08 delay:0.0 options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{
        [UIView setAnimationRepeatCount:2.0];
        self.view.transform = translateRight;
    } completion:^(BOOL finished){
        if(finished){
            [UIView animateWithDuration:0.06 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
                self.view.transform =CGAffineTransformIdentity;
            } completion:NULL];
        }
    }];
}

5、多种动画  在网上找得demo 如下

animations.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值