我正在尝试创建一个
这样做可以实现我想要的动画效果,但是它覆盖了整个第一个视图控制器。我该如何让它在某个特定点停止并且不覆盖整个视图控制器呢?
我正在使用Storyboards,并且这是我第一次尝试任何新的动画效果。
UIViewController
,它可以从右侧以“滑动”的动画出现。不像Push Segue,也不像Facebook应用程序。我希望新的ViewController可以在当前ViewController的上方滑动(而不是将其推开),但只覆盖屏幕的一部分,留下另一部分显示第一个ViewController。
我尝试过的方法: 我最接近的方法是创建一个自定义Segue,其中包括以下内容:- (void)perform
{
__block UIViewController *src = (UIViewController *) self.sourceViewController;
__block UIViewController *dst = (UIViewController *) self.destinationViewController;
CATransition* transition = [CATransition animation];
transition.duration = .50;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromRight;
[src.navigationController.view.layer addAnimation:transition forKey:@"SwitchToView1"];
[src.navigationController pushViewController:dst animated:NO];
}
这样做可以实现我想要的动画效果,但是它覆盖了整个第一个视图控制器。我该如何让它在某个特定点停止并且不覆盖整个视图控制器呢?
我正在使用Storyboards,并且这是我第一次尝试任何新的动画效果。