First Responder :指用户当前正在使用与之交互的控件,即First Responder 键盘。resignFirst Responder :即“触发键盘隐藏”,或“触发键盘关闭”。在iPhone界面上,当用户输入完内容后,时常会需要隐藏键盘。可通过resignFirstResponder和UITextFieldDelegate的协同实现隐藏键盘。通过触摸屏幕方式关闭键盘。
问:这个到底是取消第一反应状态 还是成为第一反应状态,与becameFirstResponder区别?在iOS中,当发生事件响应时,必须知道由谁来响应事件。而UIResponder类就是专门用来响应用户的操作,处理各种事件的,包括触摸事件(Touch Events)、运动事件(Motion Events)和远程控制事件(Remote Control Events)。iOS处理事件的流程将遵循一个不同对象组成的层次结构,也就是响应者链(Responder Chain),网上目前有很多关于响应者链的介绍,这里就不再细讲。在响应者链中非常重要的一个概念就是第一响应者(First Responder),当前第一响应者负责响应事件,或将事件传递给下一响应者。
在编写iOS程序时,我们经常会遇到需要获取当前的第一响应者,例如系统弹出键盘时,我们希望得到当前输入框(也就是第一响应者)的Frame,从而调整视图避免键盘遮挡输入框。然而UIKit并没有提供官方的API专门用于该用途。本文将介绍一种非常简单的且未用到私有API的方法来获取当前第一响应者。
CopyRight@2008-2024 中国证券新闻 All Right Reserved
工信备案号:备案号京ICP(备)15095275
中国证券新闻版权所有违者必究