【发布时间】:2012-04-07 18:23:45
【问题描述】:
我有一个通用的 ipad/iphone 应用程序,它允许用户观看视频,然后他们可以将其扩展到全屏模式。
我已经实现了(void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration,在该方法中,我根据视图元素是横向还是纵向对视图元素执行各种 setFrame 调用。
这一切在正常使用中似乎都可以正常使用,即来回旋转也可以正常使用。
但是,如果用户以纵向模式开始,开始播放视频,进入全屏模式,变成横向,然后视频停止 - 元素通常没有正确调整大小。它们的大小似乎仍然像纵向模式一样。
如果我转为纵向模式,然后再转回横向,则视图会正确重置。
奇怪的是,我已经实现了(void)exitedFullscreen:(NSNotification*)notification 并在其中打印出方向,并且可以正确看到。我还调用我的代码来根据当前方向重置视图元素,但我仍然遇到这个问题。
另一个相关问题是有时在处理旋转时,我的视图最终会在屏幕上太远,实际上位于设备顶部的状态栏下方。
编辑这是最新的例子。我在全屏视频播放期间旋转到横向模式,然后当我离开全屏视频时,您可以在视图顶部看到导航栏的问题。
【问题讨论】:
标签: ios ios5 orientation