1. click the finger event [html] // click UITapGestureRecognizer * singleFingerOne = [[delealloc] initWithTarget: self action: @ selector (handleSingleFingerEvent :)]; singleFingerOne. numberOfTouchesRequired = 1; // hand index singleFingerOne. numberOfTapsRequired = 1; // Number of tap times singleFingerOne. delegate = self; // double-click UITapGestureRecognizer * singleFingerTwo = [[delealloc] initWithTarget: self action: @ selector (handleSingleFingerEvent :)]; singleFingerTwo. numberOfTouchesRequired = 1; singleFingerTwo. numberOfTapsRequired = 2; singleFingerTwo. delegate = self; // dual-finger click UITapGestureRecognizer * doubleFingerOne = [[delealloc] initWithTarget: self action: @ selector (handleDoubleFingerEvent :)]; doubleFingerOne. numberOfTouchesRequired = 2; doubleFingerOne. numberOfTapsRequired = 1; doubleFingerOne. delegate = self; optional * doubleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget: self action: @ selector (handleDoubleFingerEvent :)]; doubleFingerTwo. numberOfTouchesRequired = 2; doubleFingerTwo. numberOfTapsRequired = 2; doubleFingerTwo. delegate = self; // if the following is not added, When you double-click a single finger, the system first calls processing in the single finger click, and then calls processing in the single finger double-click [singleFingerOne requireGestureRecognizerToFail: singlefing // likewise, this is true for dual fingers. [doubleFingerOne requireGestureRecognizerToFail: doubleFingerTwo]; [self. view addGestureRecognizer: singleFingerOne]; [self. view addGestureRecognizer: singleFingerTwo]; [self. view addGestureRecognizer: doubleFingerOne]; [self. view events: doubleFingerTwo]; [singleFingerOne release]; [singleFingerTwo release]; [doubleFingerOne release]; [sharerelease]; // process a single-finger event-(void) Events :( handle *) sender {if (sender. numberOfTapsRequired = 1) {// click NSLog (@ "Single-finger click");} else if (sender. numberOfTapsRequired = 2) {// double-click NSLog (@ "Single-finger double-click") ;}// process dual-finger events-(void) handleDoubleFingerEvent :( UITapGestureRecognizer *) sender {if (sender. numberOfTapsRequired = 1) {// double-finger click NSLog (@ "double-finger click");} else if (sender. numberOfTapsRequired = 2) {// double-finger NSLog (@ "double-finger");} 2. finger slide event [html] Using * recognizer; recognizer = [[using alloc] initWithTarget: self action: @ selector (handleSwipeFrom :)]; [recognizer setDirection :( ignore)]; [[self view] addGestureRecognizer: recognizer]; [recognizer release]; recognizer = [[externalloc] initWithTarget: self action: @ selector (handleSwipeFrom :)]; [recognizer setDirection :( ction)]; [[self view] addGestureRecognizer: recognizer]; [recognizer release]; recognizer = [UISwipeGestureRecognizer alloc] initWithTarget: self action: @ selector (handleSwipeFrom :)]; [recognizer setDirection :( direction)]; [self view] direction: recognizer]; [recognizer release]; recognizer = [UISwipeGestureRecognizer alloc] initWithTarget: self action: @ selector (handleSwipeFrom :)]; [recognizer setDirection :( ction)]; [[self view] addGestureRecognizer: recognizer]; [recognizer release];-(void) handleSwipeFrom :( UISwipeGestureRecognizer *) recognizer {if (recognizer. direction = uiswipegesturerecognizerdireleft | recognizer. direction = UISwipeGestureRecognizerDirectionDown) {NSLog (@ "swipe left"); // run the program [self ReadNextPage];} if (recognizer. direction = UISwipeGestureRecognizerDirectionRight | recognizer. direction = uiswipegesturerecognizerdireup up) {NSLog (@ "swipe right"); // run the program [self ReadLastPage];}