Я смотрю вокруг, как сумасшедшие. Мне нужно сделать индивидуальные действия на кнопке громкости и короткое нажатие (например, snapchat, короткое нажатие на изображение, длительное нажатие на запись), но не удалось.Обнаружение длинного и короткого нажатия кнопки регулировки громкости - iOS
Я использовал https://github.com/jpsim/JPSVolumeButtonHandler , который позволил мне обнаружить кнопку нажатия кнопки регулировки громкости. но, пытаясь очень сильно, я не смог обнаружить, когда его долгое нажатие и короткое нажатие.
также относятся к Detect iPhone Volume Button Hold? (iOS 8)
мой код
//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;
}
Пожалуйста, мне нужна помощь по этому вопросу. Поиск по всему Google, но не удалось. Если snapchat делает это, значит, это выполнимо.
Спасибо
Ааа, эти Snapchat - правило выключатели! –
Я нашел решение, см. Мой отредактированный ответ. – Timo
Да, мы также реализовали такую функцию, но с методом dispatch_after(). Его мое личное нытье, потому что мы делаем Snapchat, как приложение. Нужно собирать голоса для запрета Snapchat на appstore) –