Вызов функции при контакте с барьером, но не при столкновении. Является ли это возможным?

Я хотел бы знать, возможно ли вызвать функцию, когда UIView входит в контакт с границей столкновения, но не для того, чтобы они фактически сталкивались.

Можно ли вызывать функцию, когда они соприкасаются и вид проходит через границу?

Если так, то как?

1 ответ

Решение

Да, UIKit Фреймворк обеспечивает хорошую возможность обнаружения столкновений.

Чтобы реагировать на динамические коллизии элементов UIKit (например, представления), настройте пользовательский класс для принятия UICollisionBehaviorDelegate протокол. Затем, в поведении столкновения (экземпляр UICollisionBehavior class), установите делегат как экземпляр вашего пользовательского класса.

В вышеупомянутом UICollisionBehavior добавьте свой вид к нему и настройте желаемую границу, используя один из addBoundary методы. Ваш делегат будет уведомлен о столкновении в collisionBehavior(_:beganContactFor:withBoundaryIdentifier:at:) функция протокола.

(По умолчанию collisionMode является everything, так что вы можете смело игнорировать это свойство сейчас.)

Другие вопросы по тегам