ios - 父级 UIViewControllers 是否应该将 didRotateFromInterfaceOrientation 传播给子级?

标签 ios cocoa-touch uiviewcontroller autorotate

有两个 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/

相关文章:

ios - 使用 MonoTouch 制作自更新 iOS 应用程序有哪些选项?

ios - 在 iOS 上使用 curl,我无法链接多个架构,CurlchkszEQ 宏失败

ios - 在自定义键盘扩展中播放标准 iOS 键盘点击声音

ios - 使用多个 segues 返回而不是展开是个坏主意吗?

ios - 让 UIKit 处理 OpenGLES 1.1 中的设备旋转 - 它实际上是否更慢,如果是在什么情况下?

iphone - 如何在运行时更改 UIStoryboard 中的 UIViewController 类名

javascript - Safari 点击事件在 iPhone 上未触发

iPhone 强制文本框输入为大写

ios - 当我的异步下载完成时,如何让 UIPageViewController 知道?

ios - UITableViewController.UIView.trailingAnchor 的位置与 UIViewController.UIView.trailingAnchor 不同