在 addSubView 中添加从左到右的滑入动画(过渡)



我尝试模仿NavigationViewController,与iPhone中的默认MailApp非常相似

单击邮件摘要时,它应滑入邮件

详细信息,单击"返回"按钮时,邮件摘要视图将再次滑入

这就是我必须从摘要到细节的过渡动画(removeFromSuperView

CGRect temp = self.view.frame;
temp.origin.x = 300;
[UIView animateWithDuration:0.5
                      delay:0.0
                    options: UIViewAnimationCurveEaseOut
                 animations:^{
                     self.view.frame = temp;
                 }completion:^(BOOL finished){
                     [self.view removeFromSuperview];
                 }];

这就是我必须从细节到摘要的过渡动画(addSubview

    CATransition *transition = [CATransition animation];
    transition.duration = 0.5;
    transition.type = kCATransitionFromRight;
    transition.subtype = kCATransitionFade;
    [parentView.layer addAnimation:transition forKey:nil];
    [parentView addSubview:myVC.view];

现在,我的第一部分代码运行良好!其中-作为第二部分,我只能实现淡入动画。如何引入幻灯片切换效果?

我只需要为我的CATransition选择kCATransitionPush类型

    CATransition *transition = [CATransition animation];
    transition.duration = 0.5;
    transition.type = kCATransitionPush;
    transition.subtype = kCATransitionFromLeft;
    [transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    [parentView.layer addAnimation:transition forKey:nil];
    [parentView addSubview:myVC.view];

Swift 更新:

    let transition = CATransition()
    transition.type = kCATransitionPush
    transition.subtype = kCATransitionFromLeft
    parentView.layer.add(transition, forKey: nil)
    parentView.addSubview(myVC.view)

或者你可以看看:水平滑动Segue(只是谷歌它我无法获得链接,在移动设备上)这是一个很棒的滑动过渡,只是一个你从视图A添加到B的segue。

附带说明一下,如果这是在导航控制器中,则默认情况下,推送或弹出应该具有幻灯片动画......

最新更新