Ios UICollisionBehavior:滚动球?

Ios UICollisionBehavior:滚动球?,ios,uikit-dynamics,uicollisionbehavior,Ios,Uikit Dynamics,Uicollisionbehavior,我正在尝试一个iOS iPhone应用程序,它使用UIKit Dynamics来制作物理动画。这是一场篮球比赛,你可以把球扔进篮筐里。但是,我不知道如何使球成为圆形(通过UICollisionBehavior和UIDynamicAnimator以这种方式处理) 我试过:ball.layer.cornerRadius=ball.frame.size.width/2.0 但这只会把球画成圆形。它实际上并不是这样的。我还知道我可以使用:addBoundaryWithIdentifier:forPath

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

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

但这只会把球画成圆形。它实际上并不是这样的。我还知道我可以使用:
addBoundaryWithIdentifier:forPath:


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

您无法使用
UIKit Dynamics
进行此操作
UIDynamicItem
协议实现要求实现协议的对象提供
bounds
属性,该属性是
CGRect


您必须使用
SpriteKit

您无法使用
UIKit Dynamics
进行操作
UIDynamicItem
协议实现要求实现协议的对象提供
bounds
属性,该属性是
CGRect


您必须在iOS 9中选择SpriteKit

ui视图
子类中,可以添加以下内容:

- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
    return UIDynamicItemCollisionBoundsTypeEllipse;
}

在iOS 9中,您现在可以完全按照自己的意愿进行操作

ui视图
子类中,可以添加以下内容:

- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
    return UIDynamicItemCollisionBoundsTypeEllipse;
}

UIKit Dynamics不做任意形状——如您所述,Sprite Kit是您应该用于游戏动画的API。UIKit Dynamics不做任意形状——如您所述,Sprite Kit是您应该用于游戏动画的API。