Greets. Несколько подробное объяснение моей проблемы, и того, что я уже сделал, и что я не могу сделать.
Я хочу создать поведение, похожее на поведение на клавиатуре iPhone. По сути, я хочу, чтобы представление отображалось, когда пользователь нажимает кнопку, и пока пользователь нажимает эту кнопку.
Этого я достиг.
Когда пользователь отпускает кнопку, пока его палец находится в области этой кнопки, я хочу запустить действие "делать вещи".
Это я тоже смог сделать.
Поскольку все кнопки находятся рядом (как на клавиатуре), и я не хочу, чтобы пользователь выбирал другую кнопку, кроме той, которую он нажал, я уменьшил область нажатия кнопки, используя - (BOOL) pointInside: (CGPoint) point withEvent: (UIEvent) событие функция.
Когда пользователь нажимает кнопку, не поднимая палец и перетаскивая за пределы области кнопки, я хочу запустить другое действие. Это первая проблема ... Эта функция срабатывает только тогда, когда палец пользователя находится далеко от области кнопок, и на этот раз функция pointInside не является моим другом. Как я могу обнаружить, что пользовательский палец «покинул» область кнопки в тот момент, когда она выходит за пределы?
Это, если вы не поняли ... была проблема 1.
Вторая проблема связана с перетаскиванием ввода. Опять же, мне нужно ограничить область, как при выходе из перетаскивания. Но я полагаю, что когда я решаю один из них, другой остается тем же. Проблема в том, что для того, чтобы иметь поведение, похожее на клавиатуру, мне может понадобиться обнаружить, что пользователь начал касание с другой кнопки, никогда не поднимал палец и изменил на другую кнопку. Я могу обнаружить перетаскивание ввода и перетаскивания выхода в этом порядке, находясь на той же кнопке. Я не могу обнаружить перетаскивание, когда пользователь впервые коснулся где-либо еще, кроме кнопки, где я хочу обнаружить событие перетаскивания. По сути, мне нужно обнаружить прикосновение к любой кнопке (и нигде больше на виде), и пока пользователь меняет кнопки, не поднимая палец, я хочу обнаружить прикосновение к новой кнопке.
Этот гигантский абзац был проблемой № 2.
Любая помощь, как вы можете догадаться, высоко ценится.
С наилучшими пожеланиями.
Большое спасибо!