Fab*_*abi 1 objective-c uiscrollview uigesturerecognizer ios
我试图在UIScrollView内的视图上确定单个选项卡.问题是UIScrollview捕获了所有手势.
到目前为止我尝试过:我在UIScrollView中覆盖以下方法:
-(BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
UITouch *touch = [touches anyObject];
if([touch tapCount]== 2) return YES;
return NO;
}
Run Code Online (Sandbox Code Playgroud)
这很好,我现在可以在我的UIView上达到UITapGestureRecognize,遗憾的是我只能检测到双击,因为[touch tapCount] == 1总是被调用(在UIScrollView中拖动或缩放).但实际上UIScrollview不需要"单击功能"
有没有办法在此方法中决定拖动(滚动或缩放)和单击?我找不到..
-(BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
Run Code Online (Sandbox Code Playgroud)
在此先感谢Fabi
听起来如果触摸不滚动滚动视图,您只希望点击识别器成功.这非常简单,因为滚动视图使用平移手势识别器进行滚动.在iOS 5上,您可以这样做:
[self.tapRecognizer requireGestureRecognizerToFail:self.scrollView.panGestureRecognizer];
Run Code Online (Sandbox Code Playgroud)
如果要支持旧版本的iOS,则必须执行以下操作:
for (UIGestureRecognizer *recognizer in self.scrollView.gestureRecognizers) {
if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]])
[self.tapRecognizer requireGestureRecognizerToFail:recognizer];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2161 次 |
| 最近记录: |