我需要调用两个不同的 CATransitionFromRight 函数之一(我已创建),一个执行 kCATransitionFromRight,另一个执行 kCATransitionFromLeft,是的,完成后我将组合该函数。
但是,我的导航堆栈中有一个视图,深度为 1 个视图。根据您是从堆栈上方还是下方的视图进入或离开视图,我需要使用左侧或右侧。
First view => problem view, transition left.
Problem view => first view, transition right.
Problem view => third view, transition left.
Third view <= problem view, transition right.
我目前调用 viewWillAppear 中的函数。
但是,我不知道如何告诉函数使用哪个方向。
我知道我可以使用应用程序委托变量、单例或 nsuserdefault 设置,我只是想知道是否有一种我没有考虑过的方法更合适?
我知道我可以在后退按钮等中调用该函数,但是 viewWillAppear 中的调用会覆盖它。
+ (void)transitionFromRight:(UIViewController*)view {
CATransition *navTransition = [CATransition animation];
navTransition.duration = 0.65;
navTransition.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[navTransition setType:kCATransitionReveal];
[navTransition setSubtype:kCATransitionFromRight];
[view.navigationController.navigationBar.layer
addAnimation:navTransition forKey:nil];
}