我想知道当 UIView 与碰撞边界接触时是否可以调用函数,但不能让它们实际发生碰撞。
当它们接触并让视图直接穿过边界时,是否可以调用函数?
如果是这样,怎么做?
我想知道当 UIView 与碰撞边界接触时是否可以调用函数,但不能让它们实际发生碰撞。
当它们接触并让视图直接穿过边界时,是否可以调用函数?
如果是这样,怎么做?
是的,UIKit
框架提供了一个很好的碰撞检测工具。
为了响应 UIKit动态项目冲突(例如,视图),配置一个自定义类以采用该UICollisionBehaviorDelegate
协议。然后,在碰撞行为(UICollisionBehavior
类的实例)中,将委托设置为您的自定义类的实例。
在上述UICollisionBehavior
添加您的视图并使用其中一种addBoundary
方法配置您想要的边界。然后,您的委托将被通知collisionBehavior(_:beganContactFor:withBoundaryIdentifier:at:)
协议函数中的冲突。
(默认collisionMode
值为everything
,因此您现在可以放心地忽略此属性。)