2012-04-28 37 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; 
}