我正在使用UITableView
下拉单击按钮,您可以在下面的图片中找到该按钮。这里我的问题是,如果用户想要点击tableView的一面。下拉需要解雇。我正在使用UIScrollView
。我尝试过代码
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
tap.cancelsTouchesInView=NO;
[self.view addGestureRecognizer:tap];
但它不起作用。
这是图片
答案 0 :(得分:0)
试试这样:
将UIGestureRecognizer
添加到UIScrollView
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissTableView)];
[self.scrollView addGestureRecognizer:tap];
方法dismissTableView
-(void) dismissTableView
{
aTableView.hidden = YES;
}
aTableView
是tableView的对象。
每当您点击按钮时都会aTableView.hidden = NO;
答案 1 :(得分:0)
首先,当你触摸桌面视图时,你应该检查手势是否正在工作,我认为不是。问题是你的滚动视图正在吃掉所有触摸事件。尝试在滚动视图上添加点按手势,因为它肯定会起作用。像这样。
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleTap:)];
singleTap.cancelsTouchesInView = NO;
[scrollView addGestureRecognizer:singleTap];
答案 2 :(得分:0)
我在这里得到了答案......
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
tap.delegate=self;
[self.scrollView addGestureRecognizer:tap];
使用此UIGestureDelegate
方法...
-(BOOL)gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldReceiveTouch:(UITouch )touch{
if ([touch.view isDescendantOfView:_Tableobj])
{
return NO;
}else{
return YES;
}
键盘板解散方法......
-(void)dismissKeyboard{
[_Tableobj setHidden:YES];
}
答案 3 :(得分:-1)
试试这个:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// hide your table view or resignFirstResponder of textfield
}