我有一些对象只是PNG的UIImageViews,透明区域重叠。我在透明部分重叠的地方堆叠了几张图像。当其中一个被触摸时,我会播放一些音频。
为了让触摸通过透明区域,从而让正确的物体被识别,我通过透明层传递触摸:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
unsigned char pixel[1] = {0};
CGContextRef context = CGBitmapContextCreate(pixel,
1, 1, 8, 1, NULL,
kCGImageAlphaOnly);
UIGraphicsPushContext(context);
[self.image drawAtPoint:CGPointMake(-point.x, -point.y)];
UIGraphicsPopContext();
CGContextRelease(context);
CGFloat alpha = pixel[0]/255.0;
BOOL transparent = alpha < 0.01;
if(transparent){
return NO;
} else {
return YES;
}
}
问题:当大约3或4个堆叠在屏幕上时,触摸会开始明显延迟。 IE浏览器。顶层立即触发,但底层需要几毫秒。
是否有更快的方式可以通过PNG的透明区域传递触摸?
由于