Отмена сенсорных событий для других видов - PullRequest
0 голосов
/ 03 октября 2018

У меня есть UIView subclass, который отображает некоторый контент поверх camera preview (AR, но не ARKit).В этом представлении я использую touchesBegan и touchesEnded, чтобы определить, нажал ли пользователь на отображаемые объекты.Теперь у меня есть это представление embedded в controller внутри UINavigationController, и это NavigationController позволило отображать / скрывать полосы при нажатии.Я хотел бы сделать так, чтобы, если я обнаружу постукивание по объекту внутри ARView, тогда я смогу выполнить какое-то действие, но тогда прикосновения не будут получены NavigationController, так что бары скрываются, только если я нажимаю на фон.Как я могу заблокировать отправку сенсорных событий дальше в такой ситуации?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Если вы хотите ограничить количество касаний для разных видов, вы можете изменить свойство userInteractionEnabled для каждого условия, которое вам нравится.

Если для этого свойства установлено значение false, для выбранных событий касания не будет получено.просмотры.

0 голосов
/ 03 октября 2018

итак, если я вас правильно понял, вы хотите распознать оба события и вызвать методы обоих жестов, верно?Если это так, попробуйте следующий фрагмент кода:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

Этот метод позволяет распознавать несколько жестов

...