【发布时间】:2011-12-17 16:52:21
【问题描述】:
我正在开发一个应该支持所有方向的 iPad 应用程序。我没有使用笔尖。我有一个布局四个视图的 UIWindow:
其中两个占据全宽,但高度不大。
另外两个占据了大部分高度,并共享相同的 origin.x。它们不重叠。
我指定一个视图作为主窗口的子视图,其余的子视图交给window.view。
问题:旋转后,无论方向如何,状态栏的框架似乎都粘在其原始位置(纵向顶部)。虽然,状态栏确实会旋转。
我确实注意到了red-glasses 内容丰富的文章。但是,这似乎不是完全相同的问题。这在某种意义上是不同的,红眼镜方法通过将主视图设置为窗口的子视图来设法覆盖状态栏条。我采用了这种方法,但问题仍然存在。
我已经尝试在 willRotateToInterfaceOrientation:: 中重新构建和重新定位 window.view 框架 运气不好。我已经验证了新的框架/中心是我所期望的。似乎在后台进行了一些重构。
我现在不知道该怎么想... 我希望有人可以对这个问题有所了解。
【问题讨论】:
-
终于!我得到了一致的观点。原来问题出在didFinishLaunchingWithOptions:问题是我正在通过initWithFrame初始化我的UIWindow:[[UIScreen mainScreen] applicationFrame];当我改为使用 init 进行初始化时(在 tack 中重新设置代码),视图按预期定位。我的重构代码发生在 willRotateToInteraceOrientation:: 其中,我为每个视图计算并设置了正确的帧,然后使用 UIView animateWithDuration::::: 将转换集成到旋转动画中希望这对某人有所帮助...
标签: ios ipad orientation frame statusbar