zho*_*udu 3 xcode uiviewcontroller
在Apple的开发人员文档中,UIViewController中的propertiesViewController属性被描述为“由该视图控制器呈现的视图控制器,或其在视图控制器层次结构中的祖先之一”。这很令人困惑。“其祖先”是什么意思?
这个问题确实很老了,但它仍然是我搜索中最热门的谷歌搜索,现有的答案是错误的,使事情更加具有误导性。
此属性始终返回呈现的视图控制器(或 nil),它永远不会返回祖先视图控制器。对祖先的引用意味着,如果您调用它的视图控制器本身没有呈现任何视图控制器,那么它将沿着层次结构向上查看是否有任何父视图控制器呈现任何内容。
举一个具体的例子 - 假设您有 ContentViewController,它包含在 UINavigationController 中。NavigtionController 当前正在呈现另一个视图控制器(例如,可能是 UIAlertViewController)。
在这种情况下,ContentViewController 和 NavigationController 的presentedViewController 属性将返回由NavigationController 呈现的UIAlertController。当这个被忽略时,它们都将返回零。
因此,为了让 Apple 文档中的这一行更加清晰:“此视图控制器呈现的视图控制器,或视图控制器层次结构中其祖先之一[呈现的视图控制器]”。
| 归档时间: |
|
| 查看次数: |
3588 次 |
| 最近记录: |