如果我定义一个开放的 UIBezierPath 并将其设置为碰撞边界:
_containerPath = [UIBezierPath bezierPathWithArcCenter:center
radius:radius
startAngle:M_PI
endAngle:0
clockwise:NO];
[_collisionBehavior addBoundaryWithIdentifier:@"containerBoundary" forPath:_containerPath];
然后打开重力,在“碗”内释放的物体会遵循下边界,但从碗上方释放的物体会停留在本应不存在的一侧。这是预期的行为吗?
图中,红色矩形是从上面掉下来的;动态动画师的参考视图是浅灰色矩形。它从上面落下,停在了无形的线上。
我已经确认,如果您将贝塞尔路径翻转过来,红色矩形实际上确实尊重弯曲的边界;我也尝试过使用开放(两侧)三角形而不是弯曲路径 - 结果相同。