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