Cocoa-Touch:UIWindow不会旋转一些子视图

时间:2010-09-07 15:24:23

标签: iphone objective-c cocoa-touch

我有一个设置为横向模式的iPad应用程序。

根据我的阅读,UIWindow本身不需要旋转,而是在旋转设备时对其所有子视图应用旋转变换。

我的应用程序有一个UINavigationController,其中包含应用程序的视图,并且在其上方有一个自定义MenuBarViewController,有时会在屏幕的一个边缘显示。

在我的应用代理人didFinishLaunching..我这样做:

[window addSubview:navigationController.view];
[window addSubview:menuBarWrapperViewController.view];
[window bringSubviewToFront:menuBarWrapperViewController.view];

我的navigationController中的视图看起来很好,但我的MenuBarViewController中的视图没有旋转。

我已检查过,我的MenuBarViewController和我的MenuBarWrapperViewController(尚未执行任何操作)将YES返回shouldAutorotate..

有没有人知道为什么我的某个UIViews子视图没有得到正确的旋转变换?

编辑:经过进一步调查,似乎UIWindow仅将变换应用于第一个添加的子视图,因此如果我更改addSubview次调用的顺序,则只会显示第一个子视图转动。

有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

也许您应该尝试让一个视图控制器负责处理所有正在显示的子视图的旋转。