Ios 在addSubView中添加从左到右的幻灯片动画(过渡)
我试着模仿Ios 在addSubView中添加从左到右的幻灯片动画(过渡),ios,iphone,objective-c,uiviewanimationtransition,Ios,Iphone,Objective C,Uiviewanimationtransition,我试着模仿NavigationViewController,非常类似于iPhone中的默认MailApp 单击邮件摘要时,它应滑入邮件详细信息,单击“上一步”按钮时,邮件摘要视图将再次滑入背面 这就是我必须动画化从摘要到细节的过渡(removeFromSuperView) 这就是我必须动画化从细节到摘要的转换(addSubview) 现在,我的第一部分代码运行良好!作为第二部分,我刚刚能够实现淡入动画。如何引入幻灯片过渡?或者您可以查看:HorizontalSlide Segue(只需谷歌一下,
NavigationViewController
,非常类似于iPhone中的默认MailApp
单击邮件摘要时,它应滑入邮件详细信息,单击“上一步”按钮时,邮件摘要视图将再次滑入背面
这就是我必须动画化从摘要到细节的过渡(removeFromSuperView
)
这就是我必须动画化从细节到摘要的转换(addSubview
)
现在,我的第一部分代码运行良好!作为第二部分,我刚刚能够实现淡入动画。如何引入幻灯片过渡?或者您可以查看:HorizontalSlide Segue(只需谷歌一下,我在手机上找不到链接)这是一个很棒的幻灯片过渡,只是一个从视图a添加到视图B的过渡
另一方面,如果这是在导航控制器中,推送或弹出在默认情况下应该有幻灯片动画…我只需要为我的CATTransition选择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)
如果我想从超级视图中删除myVC.view,该怎么办。@iBug您可以添加这一行来删除myVC.view:[myVC.view性能选择器:@selector(removeFromSuperview)with object:nil afterDelay:0.5];
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];
let transition = CATransition()
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromLeft
parentView.layer.add(transition, forKey: nil)
parentView.addSubview(myVC.view)