【发布时间】:2013-08-17 18:54:50
【问题描述】:
现在我正在使用故事板中的 segue 来推送视图控制器,并且只有一次推送转换。如何模仿代码中的“Pop”过渡?我现在可以在使用故事板进行其他过渡的同时执行此操作吗?
更新
我尝试了此处第一条评论中的建议,并进行了一些更改。这是我所拥有的:
UIViewController *dst = [self destinationViewController];
UIViewController *src = [self sourceViewController];
[dst viewWillAppear:YES];
[dst viewDidAppear:NO];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGRect f = CGRectMake(-screenBounds.size.width, 0, screenBounds.size.width, screenBounds.size.height);
dst.view.frame = f;
f.origin.x = screenBounds.size.width;
src.view.frame = f;
[UIView transitionFromView:src.view
toView:dst.view
duration:0.3
options:UIViewAnimationOptionTransitionNone
completion:^(BOOL finished){
[dst viewDidAppear:YES];
UINavigationController *nav = src.navigationController;
[nav popViewControllerAnimated:NO];
[nav pushViewController:dst animated:NO];
}];
这几乎是我想要的,但原来的视图控制器只是消失了,而不是向右滑动。
【问题讨论】:
-
你必须使用自定义动画,weeny.tk/rF2xe9C
标签: iphone ios objective-c uistoryboard uiviewanimationtransition