Xcode - Gmail使用什么转换来左右滑动到下一个上一个邮件项目

时间:2015-03-10 08:26:50

标签: ios xcode swift gmail

我使用Gmail并且喜欢在电子邮件项目的详细视图中通过左右滑动来查看下一个 - 以前的邮件的方式。我正在写一些应用程序,并希望制作这样的应用程序。 Gmail使用的两个详细视图之间的转换是什么?什么是动画? 当我滑动时,当前视图将向外滚动,下一个视图也会像两个视图一样滚动,与其他视图一致。 但是,实际上,两个视图由同一个DetailViewController初始化。 我读了一些教程,但找不到解决方案。我认为那是UISplitViewController ?? enter image description here

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找一种叫做自定义视图控制器转换的东西。

长话拍摄,你需要:
1)创建一个符合UIViewControllerAnimatedTransitioning协议的类。在那里你会写你的动画代码。动画完成后,别忘了给transitionContext. completeTransition (true)打电话。

要触发自定义转换,您的UINavigationController必须实现UINavigationControllerDelegate方法协议:func navigationController(_ navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController,toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?并返回您在1)中创建的对象(符合UIViewControllerAnimatedTransitioning的对象)。

返回nil会触发默认动画pushpop,依此类推。

查看this WWDC会话,解释如何使用它 我强烈建议您阅读this issue