我正在添加一个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