我有一个UIImageView,并将userInteractionEnabled设置为YES,还有一些手势识别器可以让用户与之交互。视图的图像是一个形状,其余部分是透明的,我只希望图像的不透明部分接受触摸(超视图也是交互式的)。如何将UIImageView上的触摸限制到其UIImage的不透明部分?
我猜我需要重写一个命中测试方法,但哪一个,怎么样?
我有一个UIImageView,并将userInteractionEnabled设置为YES,还有一些手势识别器可以让用户与之交互。视图的图像是一个形状,其余部分是透明的,我只希望图像的不透明部分接受触摸(超视图也是交互式的)。如何将UIImageView上的触摸限制到其UIImage的不透明部分?
我猜我需要重写一个命中测试方法,但哪一个,怎么样?
尽管这并不是您所追求的确切答案,但这应该会让您了解实现此目的的一种方法。这篇博客文章使用Cocoas2D框架。
http://abitofcode.com/2011/07/irregular-touch-detection-when-cgrect-is-not-enough-part-1/
您可以获取在触摸点(How to get the RGB values for a pixel on an image on the iphone)的像素颜色信息。也许你可以测试其alpha值以确定它是否不透明。