将 UITapGestureRecognizer 添加到 UIVIew XIB
Add UITapGestureRecognizer to UIVIew XIB
@interface MyCustomView() @end
@implementation MyCustomView
- (instancetype)init {
self = [[[MyClass bundle] loadNibNamed:kOverlayNib owner:self options:nil] firstObject];
self.layer.cornerRadius = 10;
self.translatesAutoresizingMaskIntoConstraints = NO;
self.userInteractionEnabled = YES;
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[singleFingerTap setNumberOfTapsRequired:1];
[singleFingerTap setNumberOfTouchesRequired:1];
[self addGestureRecognizer:singleFingerTap];
return self; }
//The event handling method
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
NSLog(@"Tappedddddddddd");
}
我已经在我的 kOverlayNib.xib 中添加了点击手势识别器,但由于某种原因我无法得到任何响应。它根本无法正常工作。
你错过了一些东西..
@interface MyCustomView() <UIGestureRecognizerDelegate> @end
或者你想写的任何地方。
singleFingerTap.delegate = self;
- (BOOL)gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer)otherGestureRecognizer { return YES; }
现在您可以 运行 您的代码了。它有效。
@interface MyCustomView() @end
@implementation MyCustomView
- (instancetype)init {
self = [[[MyClass bundle] loadNibNamed:kOverlayNib owner:self options:nil] firstObject];
self.layer.cornerRadius = 10;
self.translatesAutoresizingMaskIntoConstraints = NO;
self.userInteractionEnabled = YES;
UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSingleTap:)];
[singleFingerTap setNumberOfTapsRequired:1];
[singleFingerTap setNumberOfTouchesRequired:1];
[self addGestureRecognizer:singleFingerTap];
return self; }
//The event handling method
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
NSLog(@"Tappedddddddddd");
}
我已经在我的 kOverlayNib.xib 中添加了点击手势识别器,但由于某种原因我无法得到任何响应。它根本无法正常工作。
你错过了一些东西..
@interface MyCustomView() <UIGestureRecognizerDelegate> @end
或者你想写的任何地方。singleFingerTap.delegate = self;
- (BOOL)gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer)otherGestureRecognizer { return YES; }
现在您可以 运行 您的代码了。它有效。