• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - UIViewController presentViewController modal在iOS7中没有动画

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:41:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

调用 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]
  • 添加显示 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap