0

在应用程序中,我有几张图像(形状和大小相同,颜色不同)在圆周上移动,有点像充当指南针的光标。我希望能够点击其中的每一个,然后根据被点击的内容显示一条消息,但我不确定哪种方法对此有好处。现在我正在尝试将它们放入 UIButtons,但这给我带来了很多麻烦。有没有办法用 UITapGestureRecognizer 做到这一点?我怀疑是否有可能在屏幕上显示其中一个,但让它跟踪 6 个不同的移动区域并让其他点击事件通过,我不认为添加 6 个不同的识别器是一个好主意,所以我只是想知道是否有人对如何解决这个问题有建议。我正在使用核心图形。

4

1 回答 1

0

实现此效果的最佳方法可能是将具有覆盖触摸的方法的 UIButton(如果您愿意,甚至是 UIControl)子类化。例如,如果你要继承 UIControl,你可以重写下面的方法来检测触摸并用它们做你想做的事情:

-(BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event

然后,无论您希望它看起来像什么,都可以在 drawRect: 方法中通过覆盖它(并取消注释它)来完成。子类中的任何子类化和跟踪触摸也是如此:UIButton、UIImageView、UIControl 等。

于 2012-08-23T19:56:43.293 回答