1

我正在尝试使用 UIKit Dynamics 来制作物理动画的 iOS iPhone 应用程序。这是一个篮球比赛,你可以把球扔进篮筐。但是,我不知道如何使球成为圆形(由UICollisionBehaviorand以这种方式处理UIDynamicAnimator)?

我试过了:ball.layer.cornerRadius = ball.frame.size.width / 2.0;

但这只会将球画成圆形。它实际上并非如此。我也知道我可以使用以下方法绘制边界:addBoundaryWithIdentifier:forPath:

但我不知道如何在不仅仅是一个矩形的UIView(在我的情况下)周围设置边界?UIImageView我知道我可以使用 SpriteKit 做到这一点,但我已经使用 UIKit Dynamics 为篮球比赛编写了几个小时的代码,如果有简单的修复,我不想切换。谢谢!

4

2 回答 2

3

现在iOS 9你可以做你想做的事了。

在您的UIView子类中,您可以添加以下内容:

- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
    return UIDynamicItemCollisionBoundsTypeEllipse;
}
于 2016-02-07T01:22:20.290 回答
2

您不能使用UIKit Dynamics. UIDynamicItem协议实现要求实现协议的对象提供一个bounds属性,该属性是CGRect.

你必须去SpriteKit

于 2014-02-21T23:16:40.947 回答