2012-04-28 40 views
2

我使用UIGestureRecognizer在用户轻敲文本字段之外时退出键盘。这是工作,没有问题,我已成功地排除3个按键,但现在,我已经加入2个表到我的网页,我无法找到一个方法来从shouldReceiveTouch其排除:从UIGestureRecognizer中排除用于隐藏键盘的表格

这是相关代码:

- (void)viewDidLoad 
{ 
..... 
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]; 
[[self view] addGestureRecognizer:gestureRecognizer]; 
[gestureRecognizer setDelegate:self]; 
} 

- (void)hideKeyboard 
{ 
[tradeQuantity resignFirstResponder]; 
[tradeSymbol resignFirstResponder]; 
[limitPrice resignFirstResponder]; 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{   
if (touch.view == placeTradeButton) 
{ 
    return NO; 
} else if (touch.view == resetValuesButton) 
{ 
    return NO; 
} else if (touch.view == refreshDataButton) 
{ 
    return NO; 
} else if (touch.view == secHoldingsTable) 
{ 
    return NO; 
} else if (touch.view == tradeTicketsTable) 
{ 
    return NO; 
} 
return YES; 
} 

如何排除表格?

回答

2

我还没有找到我的问题的答案,但我找到了解决办法,做我所需要的。我没有试图找出如何排除表格,而是做了相反的处理。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{    
if (touch.view == [self view]) 
{ 
    return YES; 
} 
return NO; 
}