Позволяет пропускать прозрачные изображения

Я использую кусок кода, который я нашел, чтобы передать события касания через прозрачные части UIImageView . Я подклассифицирую UIImageView и добавляю следующее:

 - (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; } } 

Пока что он отлично работает в моей версии iPad. Однако в моей версии iPhone я установил рамки изображения на половину фактического размера изображения ( self.image.frame.size.width/2 ). Этот код мешает моим жесты календаря странным образом, где, если я прикасаюсь к левому краю изображения, я не могу получить доступ к своему жесту, но я могу получить доступ к нему в нижнем правом углу, мимо фактического изображения в прозрачную зону.

Удаление кода вернет жест панорамы в нормальное состояние. Тем не менее, я все же хотел бы сохранить способность игнорировать штрихи на прозрачных частях. Кто-нибудь знает, какая часть этого кода возится с моими касаниями или по какой-либо другой причине, как это действует?

благодаря