Swiftui

iOS长按手势手指移动实时坐标获取笔记

2021-11-11  本文已影响0人  数字d

业务场景:微信给好友发语音,长按录制,移动上滑取消
代码实现
给imageView添加长按手势

        imageView.userInteractionEnabled = YES;
        UILongPressGestureRecognizer * tap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(yzLongPressAction:)];
        tap.delegate = self;
        [imageView addGestureRecognizer:tap];

手势内部的操作处理

-(void)yzLongPressAction:(UILongPressGestureRecognizer *)tap {
    if (tap.state == UIGestureRecognizerStateEnded) {
        self.speakView.hidden = YES;
        self.basicView.hidden = NO;
        CGPoint point = [tap locationInView:_basicView];
        if (point.y < 0) {
            self.cancelRecoderBlock();
        }else {
            self.endRecoderBlock();
        }
    }else if(tap.state == UIGestureRecognizerStateBegan){
        self.speakView.hidden = NO;
        self.basicView.hidden = YES;
        self.startRecoderBlock();
    }else if (tap.state == UIGestureRecognizerStateChanged){
        CGPoint point = [tap locationInView:_basicView];
        NSLog(@"%@",NSStringFromCGPoint(point));
    }
}
上一篇下一篇

猜你喜欢

热点阅读