2016-11-09 1 views
0

У меня есть все жесты в объективе C.LongGestureRecogizer проблема?

Теперь моя потребность: - Когда мы держим UIButton, начинается запись звука. И когда мы выпускаем UIButton, запись звука прекращается.

У меня есть использование LongGesture вроде этого: -

-(void)handLongPress:(UILongPressGestureRecognizer *)recognizer { 

    if (recognizer.state == UIGestureRecognizerStateEnded) { 
     [record stop]; 

     AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
     [audioSession setActive:NO error:nil]; 

     [tbl reloadData]; 
    } 
    else if (recognizer.state == UIGestureRecognizerStateBegan){ 

     if (player.playing) { 
      [player stop]; 
     } 

     if (!record.recording) { 
      [self saveMusic]; 

      AVAudioSession *session = [AVAudioSession sharedInstance]; 
      [session setActive:YES error:nil]; 

      // Start recording 
      [record record]; 
      // [recordPauseButton setTitle:@"Pause" forState:UIControlStateNormal]; 

     } else { 

      // Pause recording 
      [record pause]; 
      // [recordPauseButton setTitle:@"Record" forState:UIControlStateNormal]; 
     }   
    }  
} 

Но в этом случае, когда мы удерживать кнопку он не работает. Но когда мы отпускаем кнопку, звук запускается и останавливается автоматически. (Аудио записывается только 0,1 секунда)

Может кто-нибудь мне помочь?

+0

Вы управляете длинным жестом нажатия при нажатии кнопки? –

ответ

0

Используйте UIControlEvents вместо длинного жеста.

Системное событие, отменяющее текущие касания элемента управления. UIControlEventTouchDown

Событие, в котором палец перетаскивается прямо за пределы элемента управления. UIControlEventTouchUpInside

Смежные вопросы