键盘隐藏的几种方法

来源:互联网 发布:bong app软件下载 编辑:程序博客网 时间:2024/04/30 18:21

1、点击键盘上的Done按钮来关闭键盘

 当用户按下Done按钮时,将生成一个Did End On Exit事件;

 在项目导航中,建立一个ViewController,最好加上一个前缀,添加一行蓝色标注的代码,如下所示:

在YueViewController.m底部(@end之前)添加以下操作方法:


在导航项目中选择YueViewController.xib,点击Name文本字段,找到连接检查器(可通过快捷键打开)并打开,从Did End On Exit旁边的圆圈拖向File's Owner 图标,将其关联到textFieldDoneEditing:操作,然后运行,在模拟器上的textField文字框内输入内容,之后出现键盘,点击键盘上的Done按钮,即可关闭键盘。

与此类似,可以对键盘上的return等键进行方法关联,方法与上述方法基本相同。


2、通过触摸背景关闭键盘

     通过触摸屏幕上的任何一点,即可关闭键盘。

    使用Interface Builder,可以更改view所指向的对象类,将它的底层类由UIView更改为UIControl。

    因为UIControl是UIView的子类,所以非常适合用于将view属性连接到UIControl实例。

   在项目导航中创建一个YueViewController类,在YueViewController.h中添加一个方法,如下所示:


在YueViewController.m中添加方法的实现代码

该方法只是简单地告诉两个文本字段取消第一响应者状态。

打开YueViewController.xib,选中View,打开其对应的身份检查器,在标有Class的字段中,将UIView改为UIControl(UIControl为UIView的子类),按下return提交修改。打开连接检查器,从Touch Down事件拖到File' Owner图标,然后选择backgroundTap:操作。

运行程序,即可通过单击无活动控件的区域关闭键盘。


3、使用委托UITextFieldDelegate中的方法textFieldShouldReturn:来关闭屏幕键盘。

    在YueViewController.h中,增加一个UITextFieldDelegate协议,然后在YueViewController.m中设置委托,如下所示:

实现的协议方法代码如下:

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    [textField resignFirstResponder];

    return YES;

}


运行程序,在TextField文框内输入内容,点击屏幕键盘上的return键,即可关闭屏幕键盘。
4.通过手势识别器UIGestureRecognizer来实现键盘的隐藏
具体方法如下,在HHLViewController.m中的viewDidLoad函数中添加如下代码
- (void)viewDidLoad
{

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tapHiddenkeyboard:)];

    [pImageViewaddGestureRecognizer:tapGestureRecognizer];


}
然后在HHLViewController.m中添加

- (void)tapHiddenkeyboard:(UITapGestureRecognizer *)tap

{

    [self.mField1resignFirstResponder];

    [self.mField2resignFirstResponder];

}

这种方法实现的是单击背景隐藏键盘。

还有另一种单击背景隐藏键盘的方法如下:


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    [self.viewendEditing:YES];

}



转载自:
http://blog.csdn.net/u012891307/article/details/17378517

0 0
原创粉丝点击