У меня на экране несколько панелей настроек и кнопок. Мне нужно скрыть их, когда пользователь не нажимал / не нажимал никакую кнопку в течение последних 5 секунд. Как я могу это сделать? Как я могу определить, что в какой-то период не было совершено никаких действий?
2 ответа
Если у вас есть способ скрыть кнопку, назовите его hideButtons
, вы можете выполнить селектор после задержки, чтобы скрыть кнопку:
[self performSelector:@selector(hideButtons) withObject:nil afterDelay:5.0];
И в методе, связанном с вашим UIGestureRecognizer
, отмените его
[NSObject cancelPreviousPerformRequestsWithTarget:self];
//next line only if you want to restart counting no action performed for 5 sec.
[self performSelector:@selector(hideButtons) withObject:nil afterDelay:5.0];
Есть простые шаги, которым вы можете следовать, чтобы добиться этого -
- Показать вид кнопок
- Запустить NSTimer
- Если нажата какая-либо кнопка, при нажатии кнопки перезапуск NSTimer
- В противном случае через 5 секунд скройте представление и удалите его из супервизора, а затем аннулируйте свой NSTimer.
Удачи!
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.