ios - UIImageView 之间的碰撞检测

标签 ios objective-c uiimageview uikit collision-detection

我在玩 UIKit 动力学,我有两个带有 UICollisionBehavior 的 UIImageView,当两个 View 发生碰撞时会触发它的委托(delegate),问题是,如果图像是圆形,则框架是正方形,甚至框架是碰撞这不是我真正想要的。

如何检测碰撞:

enter image description here

我希望如何被发现:

enter image description here

有解决办法吗?提前谢谢你。

更新:图像不是圆圈,所以我可能必须使用 UIDynamicItemCollisionBoundsTypePath 并将我的 UIImage 转换为 UIBezierPath

最佳答案

你应该创建一个 UIImageView 的子类并实现:

override var collisionBoundsType: UIDynamicItemCollisionBoundsType {
        return .Ellipse
    }

-(UIDynamicItemCollisionBoundsType) collisionBoundsType {
    return UIDynamicItemCollisionBoundsTypeEllipse;
}

有关详细信息,请参阅 here

关于ios - UIImageView 之间的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35880229/

相关文章:

objective-c - 如何从 Apple Event 获取源应用程序?

iphone - AVAssetImageGenerator 提供旋转的图像

objective-c - 如何更改 NSPopover 箭头位置?

ios - "(NSSet *)touches"中 "event.allTouches"和 "touchesBegan:withEvent:"之间的区别

ios - imageView 在scrollView 内居中

iphone - Mac 上的 iOS 模拟器不显示电子邮件或 ActiveSync 选项

android - 如果按下音量按钮,你能用 jQuery(或任何东西,但 C++)检测吗?

ios - Notifications.getExpoPushTokenAsync在独立iOS上不起作用

ios - Swift 3 标签栏禁用标签

ios - 带有手势的 Scrollview 内的图像