【发布时间】:2015-04-11 22:03:33
【问题描述】:
我正在尝试在视图控制器之间创建自定义转换,这些控制器使用自定义 segues 链接到容器视图控制器。
这是我创建自定义过渡的尝试。然而,所发生的是视图按预期上下动画。但是视图控制器会立即切换。我要创建的是视图垂直滑出屏幕,然后容器切换视图控制器,然后它滑回屏幕。
任何想法如何使用自定义动画来实现此动画?
- (void)swapFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController
{
toViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[fromViewController willMoveToParentViewController:nil];
[self addChildViewController:toViewController];
[self transitionFromViewController:fromViewController toViewController:toViewController duration:.4 options:UIViewAnimationOptionCurveEaseOut animations:^{
self.view.frame = CGRectMake(0, 560, self.view.frame.size.width, self.view.frame.size.height);
} completion:^(BOOL finished) {
[UIView animateWithDuration:.4 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
} completion:^(BOOL finished) {
[fromViewController removeFromParentViewController];
[toViewController didMoveToParentViewController:self];
}];
}];
}
【问题讨论】:
标签: ios objective-c uiviewcontroller