使多个运动图像响应水龙头

时间:2012-08-23 19:51:07

标签: iphone objective-c ios ios5 core-graphics

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

1 个答案:

答案 0 :(得分:0)

实现此效果的最佳方法可能是使用覆盖触摸的方法对UIButton(或者甚至是UIControl,如果您愿意)进行子类化。例如,如果你是UIControl的子类,你可以覆盖下面的方法来检测触摸并用它们做你想做的事情:

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

然后无论你想要它看起来都可以在drawRect:方法中通过覆盖它(并取消注释它)来完成。对于子类中的任何子类和跟踪触摸都是一样的:UIButton,UIImageView,UIControl等。