Ios 如果我有一个UIPangestureRecognitor附加到一个视图,我可以在我';我想要什么?

Ios 如果我有一个UIPangestureRecognitor附加到一个视图,我可以在我';我想要什么?,ios,objective-c,uiview,uigesturerecognizer,uipangesturerecognizer,Ios,Objective C,Uiview,Uigesturerecognizer,Uipangesturerecognizer,我有一个handlePan:方法来确定用户何时开始平移,但我想知道他们何时开始平移,所以最好使用touchsbegind?我能做到吗?这有冲突吗 touchsmoved与UIPangestureRecognitor有何不同?您的手势识别器处理程序会以不同的状态调用。确保查看识别器的状态。这允许您知道它何时开始、何时更新(多次调用)以及何时结束。也不需要执行touchesbeated方法来知道pan何时启动 - (void)handlePan:(UIPanGestureRecognizer *)g

我有一个
handlePan:
方法来确定用户何时开始平移,但我想知道他们何时开始平移,所以最好使用
touchsbegind
?我能做到吗?这有冲突吗


touchsmoved
与UIPangestureRecognitor有何不同?

您的手势识别器处理程序会以不同的状态调用。确保查看识别器的状态。这允许您知道它何时开始、何时更新(多次调用)以及何时结束。也不需要执行
touchesbeated
方法来知道pan何时启动

- (void)handlePan:(UIPanGestureRecognizer *)gestureRecognizer {
    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
        // handle start of gesture
    } else if ([gestureRecognizer state] == UIGestureRecognizerStateChanged) {
        // handle updated position
    }
}

您可能希望处理其他一些状态。请参阅
UIgestureRecognitizer

的文档,Apple在手势识别系统的WWDC视频中非常详细地解释了这一切。我相信它们在2010部分。UIPangestureRecognitor更易于使用。您甚至可以设置控件移动的动画。而且更容易知道控件的位置。另一种选择是触摸开始和触摸移动。所以它包括两种方法。告诉控件的位置不像前者那么容易。