首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桌面视图上的背景点击

桌面视图上的背景点击
EN

Stack Overflow用户
提问于 2013-12-19 00:28:17
回答 2查看 232关注 0票数 1

这就是我的视图,顶部有一个文本字段作为搜索栏,下面是一个表视图。我希望实现backgroundTap,这样当我点击任何地方时,键盘就会关闭。

我尝试通过将视图更改为UIControl并添加以下内容-

代码语言:javascript
复制
- (IBAction)backgroundTap:(id)sender{
NSLog(@"BACKGROUND TAPPED");
[self.searchBar resignFirstResponder];

}

这不起作用--当我单击backgroundTap时,tableView方法没有运行(而且我已经正确地连接了事物)。

我还试图为表视图重写touchesBegan方法,但这也不起作用。

我怎样才能达到我想要达到的目标呢?

编辑-

我试过这样做-

代码语言:javascript
复制
  tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(backgroundTap:)];
     tapRecognizer.numberOfTapsRequired = 1;
     [self.view addGestureRecognizer:tapRecognizer];
     tapRecognizer.enabled = NO;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-19 00:33:05

解决方案1

当搜索栏成为第一个响应器(开始接受键盘输入)时,创建一个新视图并将其放在表视图的顶部。使其透明,并向其添加一个点击手势识别器。在tap处理程序中,调用[self.searchBar resignFirstResponder],并删除或隐藏此透明视图。

下面是如何创建这个覆盖视图:

代码语言:javascript
复制
// declare overlayView as a property or an ivar
_overlayView = [[UIView alloc] initWithFrame:self.tableView.frame]; 
_overlayView.alpha = 0; // make transparent 
[self.view insertSubview:_overlayView aboveSubview:self.tableView];

解决方案2

您可以辞去UITableViewDelegate方法tableView:didSelectRowAtIndexPath:中的第一个响应程序,这样,一个点击就可以忽略键盘,也可以触发任何用于敲击单元的操作。

票数 1
EN

Stack Overflow用户

发布于 2013-12-19 00:35:05

您想要使用UITapGestureRecognizer。

在您的.h文件中:

代码语言:javascript
复制
@interface viewController: UIViewController <UITextFieldDelegate>
{
    UITapGestureRecognizer *tapRecognizer;
}

在您的.m文件中:

代码语言:javascript
复制
 - (void)viewDidLoad {
     yourTextField.delegate = self;

     tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
     tapRecognizer.numberOfTapsRequired = 1;
     [self.view addGestureRecognizer:tapRecognizer];
     tapRecognizer.enabled = NO;

 }

 -(void)tapDetected {
     [yourTextField resignFirstResponder];
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20671328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档