我正在尝试在一个使用UIKit动态的iOS iPhone应用程序上工作,以便做物理动画。这是一场篮球赛,你可以把球扔进篮框。但是,我想不出如何让球变成圆形( UICollisionBehavior和UIDynamicAnimator是这样处理的)?
我试过了:ball.layer.cornerRadius = ball.frame.size.width / 2.0;
但这只会将球画成圆形。它实际上并不是这样的。我还知道我可以使用:addBoundaryWithIdentifier:forPath:来绘制边界
但是我不知道如何在不只是一个矩形的UIView (在我的例子中是UIImageView)周围设置界限?我知道我可以使用SpriteKit来做这件事,但是我已经用UIKit Dynamics为篮球比赛写了几个小时的代码,如果有简单的修复方法,我不想切换。谢谢!
发布于 2016-02-07 09:22:20
在iOS 9中,你现在可以做任何你想做的事情。
在您的UIView子类中,您可以添加以下内容:
- (UIDynamicItemCollisionBoundsType)collisionBoundsType
{
return UIDynamicItemCollisionBoundsTypeEllipse;
}发布于 2014-02-22 07:16:41
你不能使用UIKit Dynamics来做这件事。UIDynamicItem协议实现要求实现该协议的对象提供bounds属性,该属性是一个CGRect。
你必须去找SpriteKit。
https://stackoverflow.com/questions/19794898
复制相似问题