我有一个 UIPanGestureRecognizer 添加到 UIScrollView 中,当满足 UIPanGestureRecognizer 的某些情况时,我想取消转到 UIScrollView 的触摸/平移事件,现在我有这样的事情:
-(void)panRecognized:(UIPanGestureRecognizer *)sender {
if(/* some logic */) {
[sender cancelsTouchesInView];
}
}
但是调用 [sender cancelsTouchesInView] 并不会阻止我的 UIScrollView 中发生滚动。
我有丰富的 JavaScript 背景,我倾向于期望事件以同样的方式运行,但我认为事实并非如此,这是我的失败。我发现很难理解 iOS 中如何处理事件。
最佳答案
-(void)panRecognized:(UIPanGestureRecognizer *)sender {
if(/* some logic */ && sender.state == UIGestureRecognizerStateBegan) {
[self.scrollView setUserInteractionEnabled:NO];
}
else if(sender.state == UIGestureRecognizerStateEnded)
{
[self.scrollView setUserInteractionEnabled:YES];
}
}
关于ios - 当我的 UIPanGestureRecognizer 与 UIScrollView 一起发生时,如何取消其他事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045956/