热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

iOS8-阻止在呈现viewController时旋转

如何解决《iOS8-阻止在呈现viewController时旋转》经验,为你挑选了1个好方法。

我们有一个带有tableView的MainViewController,它提供了一个新的modalViewController.

MainViewController仅限于纵向,modalViewController可以旋转.

问题出在iOS8中,当modalViewController旋转时,调用MainViewcontroller中iOS8中的旋转回调方法 - - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator

因此,UITableView正在重新加载其数据,这是我们不想要的行为.

我们可以阻止iOS 8的这个功能,而不是旋转呈现的UIViewController吗?



1> oren..:

经过漫长的搜索和调查,我终于想出了一个可能的解决方案.

首先,我可以使用导航控制器并推送viewController而不是呈现它,但它会破坏我的代码,但事实并非如此.

我能做的第二件事就是不设置约束.我仍然可以使用autolayout,但是如果我没有设置约束,并且设置了默认约束,则不会重新加载tableView.当然这也不是很聪明的事情,因为我在viewController中有很多元素.

最后,我发现我可以在另一个UIWindow中显示这个"模态"viewController.我创建UIWindow并将modalViewController设置为其rootViewController.

我在git中添加了一些示例项目:https: //github.com/OrenRosen/ModalInWindow

希望它会有所帮助.


推荐阅读
author-avatar
手机用户2502892557
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有