为啥UIView中引用了@UIViewController?

Posted

技术标签:

【中文标题】为啥UIView中引用了@UIViewController?【英文标题】:Why is @UIViewController referenced in UIView?为什么UIView中引用了@UIViewController? 【发布时间】:2014-12-04 00:23:48 【问题描述】:

我正在查看UIView.h,我注意到第 123 行是 @class UIViewController;

我看到第 133 行有一个 UIViewController *_viewDelegate;,但我不明白为什么会有一个代表?

【问题讨论】:

您不必了解,因为它是 Apple 的私有内容,您无需担心 这个问题似乎是题外话,因为它不实用。根据我们的常见问题解答,您的问题应该是“软件开发独有的实用、可回答的问题” _viewDelegate 目前(ios 8)用于处理 UIView 中的一些响应者链逻辑。但正如其他人所说,您不必为此担心。 【参考方案1】:

据推测,这样控制器就可以传递viewDidLayoutSubviews 和类似的消息。

【讨论】:

【参考方案2】:

当视图控制器将子视图添加到自己的视图或将视图添加到窗口时使用的委托。也用于UIView 可以调用nextResponder

【讨论】:

以上是关于为啥UIView中引用了@UIViewController?的主要内容,如果未能解决你的问题,请参考以下文章

如果 Swift 通过值而不是引用传递,为啥我可以通过将 UIView 传递给函数来在 Swift 中操作 UIView 的属性? [复制]

在 UIViewController Storyboard 中访问 UIView

UITapGestureRecognizer 不适用于 UIView 动画

为啥我的 UIView 中没有显示任何内容?

如何以编程方式创建控制器和 UIView 而不使用界面构建器? [关闭]

iOS 7 addSubview 为我的 UIView 添加了额外的长度,这是为啥呢?