我目前正在使用以下代码来展示我的视图控制器。
CATransition* transition = [CATransition animation];
transition.duration = 1;
transition.type = kCATransitionFade;
transition.subtype = kCATransitionFromBottom;
[self.view.window.layer addAnimation:transition forKey:kCATransition];
[self presentViewController:viewController animated:NO completion:nil];
我需要使用更复杂的动画,利用UIView animateWithDuration
方法。这只是模态表示,背景视图控制器应该保留在那里。我如何动画呈现视图控制器的视图?
更新:代码的下一个版本 :)
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:NULL];
RootViewControllerEx *viewController = (RootViewControllerEx *)[sb instantiateViewControllerWithIdentifier:@"SB_RDVC"];
viewController.transitioningDelegate = self;
viewController.modalPresentationStyle = UIModalPresentationCustom;
[self presentViewController:viewController animated:YES completion:nil];
...
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext
{
...
}
在Storyboard中,VC(视图控制器)没有指定任何segue,它在Storyboard中孤零零的存在 :)
UIViewControllerTransitioningDelegate
协议,而它确实实现了该协议。请参见更新。 - PablomodalPresentationStyle
设置为UIModalPresentationNone
。 - Tim