在iOS 7中,我们将自定义动画转换为新的视图控制器,完成动画:
[self.animatedView removeFromSuperview]; //superview == self.view, in this case
[self presentViewController:newController animated:NO completion:nil];
这在< = IOS 7中运行良好。我们也在使用dismissViewController:动画回原始时进行。但是,在iOS 8中,显示和关闭都会在动画结束和新视图外观之间显示一帧黑屏。有没有解决的办法?一切都已经在主线上发生了。
答案 0 :(得分:0)
真的建议你应该采用适用于iOS 7及更高版本的UIViewControllerAnimatedTransitioning
协议。它易于使用,并且可以进行任何过渡类型和长度的极其优化。无论如何,继续使用您自己的ios 6及以下动画,但如果您采用ios 7及更高版本的新协议,您的动画会有突飞猛进的改进。
答案 1 :(得分:0)
我有同样的问题,我的修复是获得这两个类。
轻松将它们导入项目并设置转换委托:
BTSlideInteractor *interactor = [[BTSlideInteractor alloc] init];
interactor.presenting = YES;
UIStoryboard *storyboard = self.storyboard;
ViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"home"];
svc.modalPresentationStyle = UIModalPresentationCustom;
svc.transitioningDelegate = interactor;
[self presentViewController:svc animated:YES completion:nil];
您可以自定义委托类的转换。此致