我正在添加一個uipickerview作爲主視圖的子視圖。要關閉點擊背景視圖的pickerview,我將添加一個UITapGestureRecognizer到主視圖。關於點擊背景的解除UIPickerView
我使用以下代碼來添加GestureRecognizer主視圖
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
gestureRecognizer.numberOfTapsRequired=1;
gestureRecognizer.numberOfTouchesRequired=1;
gestureRecognizer.delegate = self;
[self.view addGestureRecognizer:gestureRecognizer];
[gestureRecognizer release];
在handleSingleTap方法,我駁回pickerview。
但問題是handleSingleTap也被稱爲當我點擊pickerview內部。爲了避免它,我用UIGestureRecognizer
以下委託方法-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
/*
*If the tap is inside a button return NO, to ensure the button click is detected.
*/
if ([touch.view isKindOfClass:[UIButton class]]){
return FALSE;
}else if([touch.view isKindOfClass:[UIPickerView class]]) {
return FALSE;
}
return TRUE;
}
它正在爲按鈕,但沒有工作UIPickerView
。誰能幫我這個?
嘗試,而不是isKindOfClass isMemberOfClass ... – 2012-01-18 07:55:12
@Ankit不工作... – PgmFreek 2012-01-18 08:25:37