gpt4 book ai didi

objective-c - iOS 5 与 iOS 6 中的自动旋转问题

转载 作者:可可西里 更新时间:2023-11-01 06:16:16 25 4
gpt4 key购买 nike

我有一个 iPad 应用程序必须支持 iOS 5.0 及更高版本。我有一个错误,它在 5.0/5.1 中的行为与在 6.0 中的行为不同。问题是 tabbarcontroller 中的 View Controller 推送模态视图,而模态视图又通过 navigationController 推送全屏 View 。问题是,在全屏 View 中,如果旋转 iPad,则底层 View Controller (tabbarcontroller 中的一个)不会旋转。现在让我分解一下iOS版本的差异:

首先,这个有问题的 viewController 实现了 shouldAutoRotateToInterfaceOrientation(返回 YES)以及 willRotateToInterfaceOrientation 和 willAnimateRotationToInterfaceOrientation。

在 iOS 6.0 中,我注意到旋转方法 (willRotate... & willAnimate...) 没有被调用,所以我注册它以接收 UIDeviceOrientationDidChangeNotification 通知并在收到时从两个 Rotate 方法执行代码该通知和其他方法尚未执行。这解决了 iOS 6.0 中的问题。

问题是,在 5.0/5.1 中,旋转方法 (willRotate... & willAnimate...) 正在执行,但 View 没有旋转。如果“全屏 View ”没有出现在这个 View Controller 的顶部并且 iPad 被旋转,这两个方法会执行并且 View 会相应地旋转。

请帮忙。提前致谢。

除上述之外,我还尝试过其他方法。

我试过检查 UIDeviceOrientation 并将其转换为 UIInterfaceOrientation 并调用 [self shouldAutorotateToInterfaceOrientation:xxx]; View 仍然显示错误。

最佳答案

当两种旋转方法正在执行时,为您的 View 执行 CAAffineTransformation。当你恢复正常时,再次以 -90 度做同样的事情。

https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html

关于objective-c - iOS 5 与 iOS 6 中的自动旋转问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com