Fin*_*Fin 13 iphone cocoa-touch objective-c uikit
就好奇而言,UIView类的nextResponder方法实现如何知道谁是管理视图的UIViewController?UIResponder文档说明了这一点,我可以看到它有效,但我不太明白.据我所知,UIView没有保持对它的控制器的引用,那么幕后发生了什么?或者我只是遗漏了一些明显的东西?
我对Objective-C和iPhone的开发还很新,所以如果这很明显,我很抱歉,但我很好奇.
谢谢!
的响应链是从视图层次结构分开.响应者链可能如下所示:
First Responder > View Hierarchy > Window > Window Delegate > etc...
Run Code Online (Sandbox Code Playgroud)
但是,对象可以将自己插入到响应程序链中,这就是UIViewController的作用.来自文档:
由于视图控制器与它们管理的视图紧密绑定,因此它们也是用于处理事件的响应程序链的一部分.视图控制器本身是UIResponder类的后代,并插入到托管视图及其超级视图之间的响应程序链中.
在Big Cocoa中,这是使用-setNextResponder:方法完成的.这种方法在Cocoa Touch中并不公开,但是UIViewController似乎也是如此.
| 归档时间: |
|
| 查看次数: |
5893 次 |
| 最近记录: |