有两个UIViewController:MyParentViewController和MyToolbarViewController。 MyParentViewController管理一个覆盖整个屏幕的视图。 MyToolbarViewController是MyParentViewController的子视图,并且以比其父MyParentViewController管理的视图更高的z-index管理相对较小的视图。
因为MyParentViewController的视图在视图层次结构中较高,所以它的shouldAutorotateToDeviceOrientation
方法似乎胜过MyToolbarViewController的方法。它返回的是所使用的值。但是,我没有看到MyToolbarViewController的didAutorotateFromDeviceOrientation
被调用。我有责任重写MyParentViewController didAutorotateFromDeviceOrientation
并在子视图上调用该方法吗?
最佳答案
在iOS 4.x中,Apple定义了所有“合法”容器控制器(拆分视图,表视图,导航视图和选项卡视图)。这些控制器管理所有视图管理方法(viewWill…
,viewDid…
,shouldAutoRotate…
)并适当地转发它们。
如果尝试执行类似的操作,则不会转发这些方法。当前,如果您需要采取这些方法,则由“顶部”控制器负责。
[请仔细阅读,以期得到将来的答案]