状态栏框架粘贴到纵向,并遮挡window.view

我正在开发一个支持所有方向的iPad应用程序。 我不使用笔尖。 我有一个UIWindow,提出了四个意见:

其中两个占据全宽,但没有太多的高度。
另外两个占据了高度的大部分,并共享相同的origin.x。 它们不重叠。

我指定一个视图作为主窗口的子视图,其余的子视图都是window.view。

问题:旋转之后,无论方向如何,状态栏的框架都会保持原来的位置(纵向顶部)。 虽然,状态栏确实在旋转。

我没有注意到红眼镜的信息文章。 但是,这并没有出现相同的问题。 这是不同的,红眼镜方法通过将主视图设置为窗口的子视图来覆盖状态栏条。 我采取了这种方法,但问题依然存在。

我已经尝试了重新编译和重新调用willRotateToInterfaceOrientation ::中的window.view框架,但运气不大。 我已经证实,新框架/中心是我所期望的。 看起来好像在后台正在进行一些重构。

我不知道现在该怎么想……我希望有人能够对这个问题有所了解。

最后! 我得到了连贯一致的意见。
原来问题出在didFinishLaunchingWithOptions:

问题是我正在初始化我的UIWindow通过initWithFrame:[[UIScreen mainScreen] applicationFrame];

当我使用init初始化时,视图按预期定位。 它只在离开redirect代码的时候才起作用:(如上所述)。

在willRotateToInterfaceOrientation中,我为每个视图计算并设置了正确的帧,然后使用UIView将转换整合到旋转animation中animateWithDuration :::::

我将倒数第二个select器参数中的新帧设置为animateWithDuration。

希望这可以帮助别人…