Я пытаюсь реализовать функцию записи асинхронных голосовых сообщений. Есть кнопка, которая имеет UILongPressGestureRecognizer
, и это начинает запись. Прямо сейчас, когда они отпускают, запись сохраняется и отправляется.Захват захвата вне UIControl - UILongPressGestureRecognizer
#pragma mark - Actions
- (void) recordButtonPressed:(UILongPressGestureRecognizer *)gesture
{
if (gesture.state == UIGestureRecognizerStateBegan) {
[self.voiceRecorderView.recordButton setImage:[UIImage imageNamed:kWSGreyDotXLarge] forState:UIControlStateNormal];
[self startRecording];
}
if (gesture.state == UIGestureRecognizerStateEnded) {
[self stopRecording];
[self.voiceRecorderView.recordButton setImage:[UIImage imageNamed:kWSPinkDotXLarge] forState:UIControlStateNormal];
}
}
Это работает, но теперь мне нужно скопировать в настоящее время стандартная функция позволяет пользователю перетаскивать их палец с кнопки, пока она нажата, чтобы отменить запись.
Как добавить gestureRecognizer
, чтобы узнать, не перетаскивает ли пользователь внешний элемент управления, но все еще нажимает его?