将UILabel作为输入框,进行触发事件可以有两种方式。
在.h文件中增加接口类<UIGestureRecognizerDelegate>
1:直接设置
- (void)viewDidLoad
{
[super viewDidLoad];
//Tap Touch
UITapGestureRecognizer *_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureUpdated:)];
_tapGesture.delegate = self;
_tapGesture.numberOfTapsRequired = 1;
_tapGesture.numberOfTouchesRequired = 1;
[setUserInteractionEnabled:YES]; //设置label可进行触发
[memberLabel addGestureRecognizer:_tapGesture];
}
2:对包含Label的UIView进行设置,根据Label的坐标进行判断(对多个label的进行触发)
- (void)viewDidLoad
{
[super viewDidLoad];
//Tap Touch
UITapGestureRecognizer *_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureUpdated:)];
_tapGesture.delegate = self;
_tapGesture.numberOfTapsRequired = 1;
_tapGesture.numberOfTouchesRequired = 1;
[bgView addGestureRecognizer:_tapGesture];
}
- (void)tapGestureUpdated:(UITapGestureRecognizer *)tapGesture
{
CGPoint locationTouch = [_tapGesture locationInView:self.bgView];
if(CGRectContainsPoint(memberLabel.frame, locationTouch)){
NSLog(@"memberLabel");
................
}else if (CGRectContainsPoint(pointLabel.frame, locationTouch)){
NSLog(@"pointLabel");
}
}