【发布时间】:2013-07-20 10:12:39
【问题描述】:
我试图让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];
}
这实现了我想要的动画,但它涵盖了整个第一个 ViewController。我怎样才能让它停在某个点而不是覆盖整个事情?
我正在使用 Storyboards,这是我第一次尝试任何类型的新动画。
【问题讨论】:
-
你好我也需要实现同样的东西,你能给我一些初步的想法,我把这段代码放在哪个类?
标签: ios uiviewcontroller storyboard segue uiviewanimation