J'ai regardé autour comme des fous. J'ai besoin de faire des actions personnalisées sur le bouton de volume à long et à court de presse (comme Snapchat, appuyez sur la touche prendre une photo, appuyez longuement sur la vidéo d'enregistrement), mais ont échoué.Détection longue et courte pression du bouton de volume - iOS
J'ai utilisé https://github.com/jpsim/JPSVolumeButtonHandler ce qui m'a permis de détecter l'événement de presse de bouton de volume. mais après avoir essayé très fort j'ai échoué à détecter quand c'est une pression longue et quand c'est une pression courte.
se réfèrent également à Detect iPhone Volume Button Hold? (iOS 8)
mon code
//Volume button handler
self.volumeButtonHandler = [JPSVolumeButtonHandler volumeButtonHandlerWithUpBlock:^{
// Volume Up Button Pressed
[self onVolumeUp];
} downBlock:^{
// Volume Down Button Pressed
}];
-(void)onVolumeUp {
if(self.volButtonTimer) {
secondsElapsed = 1; //To detect long press
[self.volButtonTimer invalidate];
}
self.volButtonTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(onTimerFire)
userInfo:nil
repeats:NO];
}
-(void)onTimerFire {
NSLog(@"Long Press %d",secondsElapsed);
if (secondsElapsed > 1)
{
//Do Something
}
else secondsElapsed = 0;
}
S'il vous plaît je besoin d'aide à ce sujet. Recherché google mais échoué. Si Snapchat le fait, cela signifie que c'est faisable.
Merci
Ahh, ces Snapchat - enfreignent les règles! –
J'ai trouvé une solution, s'il vous plaît voir ma réponse éditée. – Timo
Oui, nous avons également implémenté cette fonctionnalité, mais avec la méthode dispatch_after(). C'est mon gémissement personnel, parce que nous faisons Snapchat comme App. Besoin de recueillir des voix pour l'interdiction de Snapchat sur appstore) –