我在试着弄清楚这是怎么做的the right way.我试着描述过这样的情况:
我要添加UITableView
作为UIView
的子视图.UIView
和pinchGestureRecognizer
会对轻触做出react ,但当这样做时,桌面视图会停止对这两个手势的react (它仍然会对滑动做出react ).
我已经用下面的代码实现了,但这显然不是一个好的解决方案,我相信还有更好的方法.这是放在UIView
(超级视图)中的:
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if([super hitTest:point withEvent:event] == self) {
for (id gesture in self.gestureRecognizers) {
[gesture setEnabled:YES];
}
return self;
}
for (id gesture in self.gestureRecognizers) {
[gesture setEnabled:NO];
}
return [self.subviews lastObject];
}