我有一个UIPanGestureRecognizer,我添加到UIScrollView,当满足UIPanGestureRecognizer的某些情况时,我想取消触摸/平移事件进入UIScrollView,现在我有这样的事情:
-(void)panRecognized:(UIPanGestureRecognizer *)sender {
if(/* some logic */) {
[sender cancelsTouchesInView];
}
}
然而,调用[sender cancelsTouchesInView]并不会停止在我的UIScrollView中滚动。
我来自一个很大的JavaScript背景,我倾向于期望事件以相同的方式表现,我认为这是我的垮台,他们没有。我发现很难理解iOS中如何处理事件。
答案 0 :(得分:1)
-(void)panRecognized:(UIPanGestureRecognizer *)sender {
if(/* some logic */ && sender.state == UIGestureRecognizerStateBegan) {
[self.scrollView setUserInteractionEnabled:NO];
}
else if(sender.state == UIGestureRecognizerStateEnded)
{
[self.scrollView setUserInteractionEnabled:YES];
}
}