OGeek|极客世界-中国程序员成长平台

标题: ios - UIViewController presentViewController modal在iOS7中没有动画 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:41
标题: ios - UIViewController presentViewController modal在iOS7中没有动画

调用 presentViewController:animated:completion: 在 iOS7 中没有动画效果。 View 立即出现。动画在 iOS8 中正常工作。当前方法在我的应用程序的三个不同位置调用,它们都显示此行为。它发生在设备和模拟器上。

随后对 dismissViewControllerAnimated:completion: 的调用可在所有 iOS 版本中正确设置动画。

代码结构

调用本方法的 View Controller 是UINavigationController的 Root View Controller ,而这个导航 Controller 是UITabBarController中的viewControllers之一。

每个调用都很简单,只需按一下按钮即可触发。这是其中一种情况:

GenreViewController *controller = [[GenreViewController alloc] init]; [ self presentViewController: Controller 动画:是完成:无];

尝试修复

在每种情况下,行为都没有改变。
任何帮助将不胜感激!

更新 - 修复

事实证明,UITabBarControllermodalPresentationStyle 属性设置为 UIModalPresentationCurrentContext。这在 iOS7 中不会动画,您必须使用 UIModalPresentationFullScreen 的演示样式。



Best Answer-推荐答案


你可以用这个

   GenreViewController *addController = [[GenreViewController alloc]

                       init];
   UINavigationController *navigationController = [[UINavigationController alloc]

                             initWithRootViewController:addController];

   [self presentViewController:navigationController animated:YES completion: nil];

关于ios - UIViewController presentViewController modal在iOS7中没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31160738/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4