调用 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 动画:是完成:无];
[UIView setAnimationsEnabled:YES]
在每种情况下,行为都没有改变。
任何帮助将不胜感激!
事实证明,UITabBarController
的 modalPresentationStyle
属性设置为 UIModalPresentationCurrentContext
。这在 iOS7 中不会动画,您必须使用 UIModalPresentationFullScreen
的演示样式。
你可以用这个
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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |