我正在尝试一个简单的项目(故事板),用户从右向左滑动以进入下一个视图,依此类推,然后用户从左向右滑动。我想实现跟随滑动的过渡(L--> R 或 R--> L)。
我发现了这个:
-(void)perform {
UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
UIViewController *destinationController = (UIViewController*)[self destinationViewController];
CATransition* transition = [CATransition animation];
transition.duration = .25;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromLeft; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[sourceViewController.navigationController.view.layer addAnimation:transition
forKey:kCATransition];
[sourceViewController.navigationController pushViewController:destinationController animated:NO];
}
但这似乎并没有做应该做的事情。
解释:
当我在横向(我的项目只在横向工作)并且主页按钮在左侧时,动画来自顶部!当我在横向并且主页按钮在右侧时,动画来自底部!!!
虽然我已经指定它是从左边开始的。另一件事是,当我使用不同的风景(左侧或右侧的主页按钮)时,它会改变方向。
任何想法为什么会发生这种情况???