Я пытаюсь ввести задержку между событием «начало касания» и действием, таким как воспроизведение звука. После прохождения порога, если палец пользователя остается относительно неподвижным, я надеюсь постепенно увеличивать громкость до тех пор, пока палец не будет поднят или вытащен из прямоугольной области эффекта. Если это затянется, я могу сыграть другой звук.
Я начинаю с задержки, но я не знаю, как определить продолжительность времени, в течение которого палец удерживается в определенном положении.
2 ответа
Вам нужно будет настроить таймер, который вы запускаете, чтобы увеличивать громкость каждые 1/10, скажем.
Вы можете либо подсчитать эти события таймера, либо сохранить [NSDate date]
в своем touchesBegan, а затем проверить это, когда происходят другие ваши события - перемещенные касания, которые остаются внутри вашего прямоугольника или таймера.
Последний является более гибким подходом и не требует значительных накладных расходов.
Сообщения, которые вы получаете при прикосновении, — это когда вы поднимаете палец или двигаете пальцем. Предполагая, что ваше приложение поддерживает только одно касание, это должно быть довольно просто. Если вы поддерживаете мультитач, вам нужно будет определить, какой палец какой, когда они двигаются.
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].