iPhone:在ImageView的处理触摸事件:

问题描述:

我有序列4个imageview的屏幕自定义背景图片设置上。当用户触摸图像视图(例如:用户触摸第二个图像视图)时,我可以通过触摸哪个图像视图来获取触摸通知? 我有imageview的阵列已经并放置,以及i必须实现触摸事件并根据该识别选择了哪个ImageView的。iPhone:在ImageView的处理触摸事件:

我想从一些一谁可以有任何建议制定此帮助,请建议我吗?

谢谢。

您可以使用自定义按钮,而不是UIImages。所以很容易找到它们中的哪一个被按下。

+0

他说的是UIImageViews,而不是UIImages。恕我直言,不需要使用按钮,只需在UIImageView中捕捉触摸事件并将其传播到超级视图即可。 – Till

+0

我使用带有图像的按钮很多这种接口。按钮的优点是可以为您编写所有触控处理代码。您只需将您的控制器和其中一种方法注册为按钮的操作目标即可完成修改。没有子类,根本就没有按钮本身的编码。 – TechZen

使用UIButtons为您的UIImageViews替换的是,莫里恩提到你,只需要拖动每个按钮的出口在您的视图控制器的连接和处理动作一个伟大的想法。您可以像在当前使用UIImageViews一样在按钮上设置背景图像。将你的按钮类型设置为自定义,你会很好。

但是,如果你正在使用的UIImageView设置,你将不得不子类的UIImageView和重写要拦截触摸的方法。例如:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    // Call super to make sure you don't lose any functionality 
    [super touchesBegan:touches withEvent:event]; 

    // Perform the actions you want to perform with the tap. 
} 
+0

非常感谢。我已经作为UIImageViews。当我点击一个图像视图时,如果您有正确的建议,则会发出'touchesBegan'通知。但是,我怎么知道哪个imageview选择了?我应该知道在这段时间内imgView1或imgView2或imgView3或imgView4是否被触摸? – Getsy

+0

好的。我删除了图片浏览并使用了按钮本身。它按预期工作。 – Getsy