有两个 UIViewController:MyParentViewController 和 MyToolbarViewController。 MyParentViewController 管理一个填满大部分屏幕的 View 。 MyToolbarViewController 是 MyParentViewController 的 subview ,并管理一个相对较小的 View ,其 z-index 高于其父 View MyParentViewController 管理的 View 。
因为 MyParentViewController 的 View 在 View 层次结构中更高,它的 shouldAutorotateToDeviceOrientation
方法似乎胜过 MyToolbarViewController 的方法。无论它返回什么,都是使用的值。但是,我没有看到 MyToolbarViewController 的 didAutorotateFromDeviceOrientation
被调用。我有责任覆盖 MyParentViewController didAutorotateFromDeviceOrientation
并调用 subview 上的方法吗?
最佳答案
在 iOS 4.x 中,Apple 定义了所有“合法”的容器 Controller ( Split View、表格 View 、导航 View 和选项卡 View )。这些 Controller 管理所有 View 管理方法(viewWill…
、viewDid…
、shouldAutoRotate…
)并适本地转发它们。
如果您尝试做类似的事情,这些方法都不会被转发。目前,如果您需要对这些方法采取行动,则由“顶级” Controller 负责。
[阅读字里行间以获得 future 的答案]
关于ios - 父级 UIViewControllers 是否应该将 didRotateFromInterfaceOrientation 传播给子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671497/