iOS 让push跳转动画像modal跳转动画那样效果(从下往上推上来)

1,766 阅读1分钟

push

    [UIView transitionWithView:self.navigationController.view duration:0.25 options:UIViewAnimationOptionCurveEaseOut animations:^{
        CATransition* transition = [CATransition animation];
        transition.duration =0.25f;
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromTop;//从哪个方向过来
        transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];//动画效果
        [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];//添加动画
        [self.navigationController pushViewController:VC animated:NO];//这里的animated要设置为NO
    } completion:nil];


pop

[UIView transitionWithView:weakself.navigationController.view duration:0.25 options:UIViewAnimationOptionCurveEaseIn animations:^{
            CATransition* transition = [CATransition animation];
            transition.duration =0.25f;
            transition.type = kCATransitionReveal;
            transition.subtype = kCATransitionFromBottom;            
            transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseIn];
            [weakself.navigationController.view.layer addAnimation:transition forKey:kCATransition];
            [weakself.navigationController popViewControllerAnimated:false];
        } completion:nil];