shouldAutoRotate 方法不能正常工作..?
Posted
技术标签:
【中文标题】shouldAutoRotate 方法不能正常工作..?【英文标题】:shouldAutoRotate method not working properly..? 【发布时间】:2010-08-26 08:08:03 【问题描述】:我在基于拆分视图的 ipad 应用程序中使用了多个 uiviewcontroller。 有网络服务。对于某些特定的 Web 服务(例如注销),我需要删除拆分 查看并插入新视图,即登录屏幕。但大多数时候,登录视图的 shouldAutoRotate 方法不会被调用,从而导致不旋转的愚蠢应用程序。 这背后的原因可能是什么?我该怎么办?
【问题讨论】:
【参考方案1】:为了维护我的旧代码,我添加了这个。
- (BOOL)shouldAutorotate
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
if (orientation == UIDeviceOrientationUnknown) return YES;
BOOL result = [self shouldAutorotateToInterfaceOrientation:orientation];
return result;
那么原代码返回有效的自转信息。
【讨论】:
【参考方案2】:确保你没有从你的 UIViewController 中提取 UIView,它 shouldAutorotateToInterfaceOrientation: 函数返回 YES,然后使用 addSubView 将 UIView 添加到另一个 UIView。我以前也遇到过。
【讨论】:
实际上我通过下面的链接,我发现我在窗口中添加 2 个视图做错了。即登录视图和拆分视图。现在我已经将 loginview 呈现为模式视图,它解决了我的问题。现在我的应用程序可以很好地旋转。谢谢。【参考方案3】:确保您的所有视图控制器都为您的 iPad 版本返回 YES
和 shouldAutorotateToInterfaceOrientation:
—— 至少是当时可见的那些。
见:iPad orientation change issue
【讨论】:
好的,谢谢它对我有帮助,我会试试的。实际上在 shouldAutorotateToInterfaceOrientation: 方法中我计算了视图控制器的大小,但给出了错误的大小,即它提供了前一个方向大小而不是当前。所以我根据尺寸做了一些手动调整。会不会有影响?以上是关于shouldAutoRotate 方法不能正常工作..?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Photolibrary 将 shouldAutorotate 设置为 false
iOS 8-viewController my_shouldAutorotate 在 presentViewController 时崩溃