iOS中第一个应答者的正式定义是什么?

前端之家收集整理的这篇文章主要介绍了iOS中第一个应答者的正式定义是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我明白第一个响应者的对象是根据输入活动等接收一个回调信号,并且它会将它引起来,直到响应者愿意处理它.

但更正式地,第一响应者的范围是多少?例如,它是一个应用程序范围的响应者吗?似乎是第一个回应者只是说这个特定的对象会收到互动的通知.另一个响应者能否窃取第一响应者状态?

请解释或指导我一些相关信息.我已经阅读了苹果对应答者的一般解释.我正在寻找一个更多的内容的解释.

解决方法

iOS中的第一个响应者的范围由视图层次结构决定.记住,响应者是响应者层次结构的一部分,由Apple的文档定义:

A responder is an object that can respond to events and handle them. All responder objects are instances of classes that ultimately inherit from UIResponder (iOS) or NSResponder (OS X).

实际上,所有回应者都是潜在响应者的一部分,一直领先于应用程序本身.这意味着响应者的范围是由你必须走多远才能获得能够处理响应的对象所决定的.如果第一个响应者是UI元素,例如UITextField,则您的作用域与该响应者的范围相关联.

在此图像中,iOS第一响应者层次结构显示在左侧(右侧的OS X):

为了回答问题的第二部分,是的,如果用户与元素交互,对象可以“窃取”第一响应者状态,例如:

>用户点击textField1.现在是第一个回应者.
>用户点击textField2.它已经从textField1接管了第一个响应者状态.

…您可以通过某些功能为他们提供第一反应者状态:

[textField3 becomeFirstResponder]; //This is now the first responder
[textField4 becomeFirstResponder]; //Now textField2 has 'stolen' first responder status
[textField4 resignFirstResponder]; //The text field has resigned its first responder status to the next level up

对于没有阅读这个Apple的文档的其他人来说,一个很好的起点是在这里找到的Responder层次结构解释:
https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/Responder.html

我希望这有帮助!

猜你在找的iOS相关文章