0

我有一个添加到 UIScrollView 的 UIPanGestureRecognizer,当遇到 UIPanGestureRecognizer 的某些情况时,我想取消触摸/平移事件进入 UIScrollView,现在我有这样的事情:

-(void)panRecognized:(UIPanGestureRecognizer *)sender {

    if(/* some logic */) {
          [sender cancelsTouchesInView];
    }
}

但是调用 [sender cancelsTouchesInView] 不会停止在我的 UIScrollView 中发生滚动。

我来自 JavaScript 背景,我倾向于期望事件以相同的方式表现,我认为这是我的失败,他们没有。我发现很难理解 iOS 中事件的处理方式。

4

1 回答 1

1
-(void)panRecognized:(UIPanGestureRecognizer *)sender {

    if(/* some logic */  && sender.state == UIGestureRecognizerStateBegan) {
          [self.scrollView setUserInteractionEnabled:NO];
    }
   else if(sender.state == UIGestureRecognizerStateEnded)
    {
          [self.scrollView setUserInteractionEnabled:YES];
    }

}
于 2013-06-11T14:01:27.517 回答