2
我正在将iOS 7中引入的新自定义视图控制器转换与UINavigationController结合使用。我在UINavigationControllerDelegate
实施在自定义视图控制器转换中抑制导航推动动画
-navigationController:animationControllerForOperation:fromViewController:toViewController:
,实现UIViewControllerAnimatedTransitioning
协议和自定义的过渡精美的作品。
但是我想在推视图控制器时阻止导航栏中的移动动画。有趣的是,流行动画很好,导航项目只是淡化而不是移位。但推动动画从右侧移动导航项目。
我找到了部分解决方案,将-pushViewController:animated:
替换为-setViewControllers:animated:
,并将新视图控制器添加到viewControllers
阵列中。这会执行正确的阿尔法衰落动画 - 除了第一次将视图控制器压入堆栈。随后的弹出/推送很好。
任何想法如何实现这种效果? Calendar.app和Photos.app也实现了这一点,所以它应该是可能的(尽管它可能是使用集合视图时的特定行为)。
我不知道,如果你还在这里有一个问题,但我无法重现它。你能提供更多细节吗?当我使用'animationControllerForOperation'指定一个自定义转换时,动画以我期望的方式影响我的内容,并且导航栏淡出(对于push和pop)。 – Rob
它会褪色,但它也会做移位动画。我会发布我的解决方法。 –