February 2012
Intermediate to advanced
872 pages
22h 43m
English
You want to be able to detect when the user taps and holds his finger on a view for a certain period of time.
Create an instance of the UILongPressGestureRecognizer class and add
it to the view that has to detect long tap gestures. The .h file of the view controller is defined
in this way:
#import <UIKit/UIKit.h> @interface Detecting_Long_Press_GesturesViewController : UIViewController @property (nonatomic, strong) UILongPressGestureRecognizer *longPressGestureRecognizer; @property (nonatomic, strong) UIButton *dummyButton; @end
Here is the viewDidLoad instance
method of the view controller that uses the long press gesture
recognizer that we defined in the .m file:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; self.dummyButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.dummyButton.frame = CGRectMake(0.0f, 0.0f, 72.0f, 37.0f); self.dummyButton.center = self.view.center; [self.view addSubview:self.dummyButton]; /* First create the gesture recognizer */ self.longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPressGestures:)]; /* The number of fingers that must be present on the screen */ self.longPressGestureRecognizer.numberOfTouchesRequired = 2; /* Maximum 100 points of movement allowed before the gesture is recognized */ self.longPressGestureRecognizer.allowableMovement = 100.0f; /* The user must press two fingers ...Read now
Unlock full access