UIimageview适合圆形

时间:2013-10-23 11:18:51

标签: ios iphone uiimageview collision

我有UIImageview包含一个圆圈(障碍物),然后是另一个UIImageview包含另一个图像(我的角色)。当我的圈子击中我的角色时,游戏结束。

当游戏以触及我的圈子所在的UIImageview框而不是UIImageview框内的圆圈的角色结束时,我的问题就出现了。

我能想到的解决方案是:

  • UIImageview四舍五入以适合我的圈子。
  • 以某种方式检测我的角色像素与圆圈像素之间的碰撞,而不是UIImageviews

非常感谢帮助和想法。我是xcode的初学者。

谢谢!

1 个答案:

答案 0 :(得分:6)

几种不同的技术:

1) UIView#layer.cornerRadius - 实现起来非常简单,只需设置一个属性即可。但是对于像表视图这样的滚动元素非常糟糕。

2) UIImageView作为面具 - 也易于实现。基本上在中间制作一个带有透明圆圈的方形图像,并使用新的UIImageView将其拍到视图顶部。如果您的圆形设计有一些反射或造型,这可能会让您的生活更轻松。

3)自定义绘图 - 创建一个UIView子类并覆盖drawRect以绘制图像并将其剪切为圆形路径。

希望有所帮助!

编辑:

你可以阅读这些答案。

1)Fill an UIBezierPath with a UIImage

2)iOS: Inverse UIBezierPath (bezierPathWithOvalInRect)

3)How to mask a square image into an image with round corners in the iPhone SDK?