通过Return键控制虚拟键盘消失

不管是UITextField控件还是UITextView对象,如果它们处于编辑状态且被用户点击,在屏幕上会出现一个虚拟键盘,这个虚拟键盘于First Responder有直接的关系。

当一个UITextField处于第一响应状态(用户在控件中编辑文字)的时候,就会出现一个虚拟键盘。

当UITextField不处于第一响应状态也不在编辑状态,并且视图中的其他UITextField或UITextView也不在第一状态的时候,虚拟键盘就不会出现。

当虚拟键盘已经切换出来的时候,我们在屏幕上从一个文字编辑控件切换到另一个的时候,虚拟键盘是不会消失的,它仍然保留在屏幕上。

我们可以通过编写代码的方式控制UITextField的编辑状态,同样也可以通过第一响应状态的设置来控制虚拟键盘的呈现或消失。在用户点击UITextField控件后,会在插入点出现一个光标,此时可以向UITextField对象发送becomeFirstResponder:消息,此时虚拟键盘出现。当我们向它发送resignFirstResponder:消息的时候,UITextField控件就会退出编辑状态,此时键盘就会从屏幕下方滑出。


操作方式:

1)将UITextField控件的delegate属性指向其所属的ViewController对象。只有这样在点击虚拟键盘的时候,视图控制器才可以响应虚拟键盘的交互事件;

2)在控制器的头文件中添加,UITextFieldDelegate

3)实现 UITextFieldDelegate协议中的,textFieldShouldReturn方法,在其中调用resignFirstResponder:方法。在虚拟键盘中点击return键,将会调用该方法。

你可能感兴趣的:(iOS)