У меня есть приложение, в котором пользователь может взаимодействовать со многими объектами. Это несколько UIButtons
, несколько UILabels
и много UIImageViews
.Как идентифицировать событие касания кнопки от других событий касания
В центре внимания все взаимодействующие центры, касаясь объектов UIImageView
. С прикосновением я могу перемещать изображения вокруг, говорить им делать то или это. Однако мое текущее препятствие заключается в том, чтобы знать, как правильно использовать приложение, чтобы различать касания, которые возникают, когда я касаюсь UIButton
.
Почему? Ну, логика в событии Touches Began предназначена только для UIImageViews
, однако в тот момент, когда я касаюсь кнопки или любого другого объекта, приложение интерпретирует касание так, как если бы оно произошло для объекта UIImageView
.
Итак, мой подход сводится к следующему: есть ли хороший способ определить, произошло ли прикосновение к объекту UIButton
, UIImageView
, UILabel
? Таким образом, я могу отфильтровать ненужные штрихи в своем приложении из соответствующих.
EDIT:
Код ниже описывает, как я захвачу сенсорное событие, однако я не знаю, как знать, от сенсорного события, будь то кнопка или вид, что я прикоснулся.
touch = [touches anyObject];
touchLocation = [touch locationInView:[self view]];
Показать код касания. Испытываете ли вы тест, чтобы найти затронутый вид? – Wain
Код довольно сложный, поскольку он обрабатывает и фиксирует штрихи, основанные на UIImageViews, который работает правильно. Проблема в том, что я понятия не имею, как отличить касание UIImage от UIButton. Есть ли событие касания, способ идентифицировать это? – AGE
Как насчет gestureRecognizer: shouldReceiveTouch: от ссылки делегата распознавателя жестов; «Этот метод называется до касанияBegan: withEvent: вызывается для распознавателя жестов для нового касания». Вы можете использовать это, чтобы отфильтровать любые нежелательные штрихи, прежде чем получатель получит их. У меня такое чувство, что это слишком поздно для вас, но, возможно, это сработает. – timquinn