对UILabel配置手势识别的方法

来源:互联网 发布:超图软件千股千评 编辑:程序博客网 时间:2024/05/18 02:24

将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");    }    }


原创粉丝点击