Вызов функции при контакте с барьером, но не при столкновении. Является ли это возможным?
Я хотел бы знать, возможно ли вызвать функцию, когда UIView входит в контакт с границей столкновения, но не для того, чтобы они фактически сталкивались.
Можно ли вызывать функцию, когда они соприкасаются и вид проходит через границу?
Если так, то как?
1 ответ
Да, UIKit
Фреймворк обеспечивает хорошую возможность обнаружения столкновений.
Чтобы реагировать на динамические коллизии элементов UIKit (например, представления), настройте пользовательский класс для принятия UICollisionBehaviorDelegate
протокол. Затем, в поведении столкновения (экземпляр UICollisionBehavior
class), установите делегат как экземпляр вашего пользовательского класса.
В вышеупомянутом UICollisionBehavior
добавьте свой вид к нему и настройте желаемую границу, используя один из addBoundary
методы. Ваш делегат будет уведомлен о столкновении в collisionBehavior(_:beganContactFor:withBoundaryIdentifier:at:)
функция протокола.
(По умолчанию collisionMode
является everything
, так что вы можете смело игнорировать это свойство сейчас.)