iOS 点击屏幕让键盘下去

相信很多的iOS小白和我一样,处理键盘逻辑的时候会碰到难题,最突出的问题之一就是如何让键盘下去,又不会影响其他按钮和表的手势呢?其实只需要去添加手势的代理的就可以了,当我发现这个方法的时候,也真的是让我好开心,因为我在开发中遇到过很多的键盘问题,一个界面中可能会有很多的键盘,而所用到的键盘类型可能也会不一样,有的可能只需要数字键盘,有的可能会需要一个默认的键盘,数字键盘有的时候输入中文后,后端处理就是异常,会报错,因此让我们前端去限制。我们如果使用数字键盘,这个时候又不想影响其他的手势,这个时候我们就可使用这个方法:(支持不影响表的代理,支持输入框的一键清除,和其他按钮的点击事件,不要忘记添加手势的代理)

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];

tap.cancelsTouchesInView = NO;

tap.delegate = self;

[self.view addGestureRecognizer:tap];

-(void)viewTapped:(UITapGestureRecognizer*)tap

{

[self.view endEditing:YES];

}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件

if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"] || [NSStringFromClass([touch.view class]) isEqualToString:@"UITextField"] || [NSStringFromClass([touch.view class]) isEqualToString:@"UIButton"]) {

return NO;

}

return YES;

}

时间: 2024-10-19 08:37:08

iOS 点击屏幕让键盘下去的相关文章

iOS 点击空白处收回键盘的几个简单代码

//收回键盘1 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { [((UIView*)obj) resignFirstResponder]; }]; } //收回键盘2 - (void)resignKeyBoardInView:(UIView

iOS中点击背景收键盘

这一次给大家带来的是ios中点击背景如何收键盘 直接上图: file:///Users/a504-18/Desktop/屏幕快照%202016-03-17%20下午7.35.07.png 先创建一个这样的页面,把两个文本框进行连线: file:///Users/a504-18/Desktop/屏幕快照%202016-03-17%20下午7.36.57.png 其实,很简单,视图控制器有一个view属性,是从UIViewController继承来的.这个view属性对应的nib文件中的View.使

[爱上Swift] day10:IOS 点击空白处隐藏键盘的几种方法

IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法: 首先说明两种可以让键盘隐藏的Method: 1.[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有控件的键盘隐藏. 2.[textFiled resignFirstRespon

IOS 点击空白处隐藏键盘的几种方法

第一种: 使用view的touchesBegan:触摸事件来实现对键盘的隐藏,当点击view的区域就会触发这个事件 -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [searchBar resignFirstResponder];} 第二种:创建自定义的触摸手势来实现对键盘的隐藏: - (void)viewDidLoad{    [super viewDidLoad];    UITapGestureRecogn

关于iOS 点击空白处关闭键盘(手势)

- (void)viewDidLoad { [super viewDidLoad]; UITapGestureRecognizer *gesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(CloseKeyBoard:)]; [self.view addGestureRecognizer:gesture]; } -(void)CloseKeyBoard:(UITapGestureRecognizer

【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog/42545,他的文章写的很好,对大家的理解很有好处. 在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭它.例如,我们可以实现按下 Rerun (有

iOS开发实战——CollectionView点击事件与键盘隐藏结合案例(二)

我在前一篇博客中<iOS开发实战--CollectionView点击事件与键盘隐藏结合案例>详细实现了CollectionView与键盘组合操作中出现的多种情况,并解决了交互体验上的一些问题.在实际项目中也的确可以采用这种方法来操作.但是问题来了,原来的界面我们是使用UIView来操作的,也就是界面是不可滚动的.然而更为常见的场景是一个ScrollView,界面可以进行上下滚动.所以,这篇博客主要是对前一个案例进行优化.还有一个问题是,在自动布局Masonry结合ScrollView中,会碰到

IOS开发-点击View取消键盘输入

要想在一个TextField等输入框中取消输入,有几个办法,第一个是在键盘添加按钮,第二个就是通过判断然后取消键盘的输入了. 下面讲第二个 写一个方法并实现 // .h文件 - (IBAction)cancelInput:(id)sender; // .m文件 - (void)cancelInput:(id)sender { [TextField1 resignFirstResponder]; [TextField2 resignFirstResponder]; [TextView resign

IOS 点击空白区隐藏键盘的几种方法

转自:http://blog.csdn.net/swingpyzf/article/details/17091567 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以实现点击键盘以外的空白区域来将键盘隐藏,以下我总结出了几种隐藏键盘的方法: 首先说明两种可以让键盘隐藏的Method: 1.[view endEditing:YES]  这个方法可以让整个view取消第一响应者,从而让所有