Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Для определения нажатия на CALayer
можно использовать несколько подходов:
Использование hitTest(_:event:)
в представлении (View):
UIView
имеет метод hitTest(_:with:)
, который рекурсивно проходит по иерархии подпредставлений и возвращает самое глубокое подпредставление, содержащее заданную точку.hitTest(_:with:)
в пользовательском представлении для более детального контроля или для обработки нажатий непосредственно на подслоях, не связанных с представлениями.Преобразование координат с помощью convert
:
UIView
) у вас есть координаты касания относительно окна (UIWindow
) или представления.convert(_:from:)
или convert(_:to:)
CALayer
.bounds
) или использовать более специфические проверки, например, contains(_:)
.Прикрепление UITapGestureRecognizer
к представлению:
UITapGestureRecognizer
к UIView
, с которым связан слой.Создание UIView
для каждого интерактивного слоя:
UIView
.UIView
в соответствии со слоем.Для определения нажатия на CALayer
можно использовать несколько подходов:
Использование hitTest(_:event:)
в представлении (View):
UIView
имеет метод hitTest(_:with:)
, который рекурсивно проходит по иерархии подпредставлений и возвращает самое глубокое подпредставление, содержащее заданную точку.hitTest(_:with:)
в пользовательском представлении для более детального контроля или для обработки нажатий непосредственно на подслоях, не связанных с представлениями.Преобразование координат с помощью convert
:
UIView
) у вас есть координаты касания относительно окна (UIWindow
) или представления.convert(_:from:)
или convert(_:to:)
CALayer
.bounds
) или использовать более специфические проверки, например, contains(_:)
.Прикрепление UITapGestureRecognizer
к представлению:
UITapGestureRecognizer
к UIView
, с которым связан слой.Создание UIView
для каждого интерактивного слоя:
UIView
.UIView
в соответствии со слоем.Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.