1 つのビューに対して 4 つのジェスチャ レコグナイザーがあります。
- (void)createGestureRecognizers {
UITapGestureRecognizer *singleFingerSingleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleFingerSingleTap:)];
singleFingerSingleTap.numberOfTapsRequired = 1;
[self.panelController.view addGestureRecognizer:singleFingerSingleTap];
UITapGestureRecognizer *singleFingerDoubleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleFingerDoubleTap:)];
singleFingerDoubleTap.numberOfTapsRequired = 2;
[self.panelController.view addGestureRecognizer:singleFingerDoubleTap];
[singleFingerSingleTap requireGestureRecognizerToFail:singleFingerDoubleTap];
[singleFingerSingleTap release];
[singleFingerDoubleTap release];
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePanGesture:)];
[self.panelController.view addGestureRecognizer:panGesture];
[panGesture release];
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePinchGesture:)];
[self.panelController.view addGestureRecognizer:pinchGesture];
[pinchGesture release];}
UIPinchGestureRecognizer の Ended 状態を処理する必要がありますが、最終状態が Ended ではなく Changed になることがあります。理由を知っている人はいますか?私は setDelaysTouchesEnded: で遊んでみますが、何も:(