2013-04-14 5 views
0

Я использую этот код, чтобы определить, когда UIButton и UIImageView накладываются друг на друга:Detect, когда палец, UIButton и UIImageView накладываются друг на друга

CGPoint fingerPoint = [(UIPanGestureRecognizer*)sender locationInView:imageA.superview]; 
    if (CGRectContainsPoint(imageA.frame, fingerPoint)) { 
     NSLog(@"Do something"); 
    } 

код работает отлично, но у меня есть изображения B, C, D, E . Как я могу перебрать их по совокупности и переместить CGRectContainsPoint() в тело этого цикла?

ответ

0
NSArray* images = @[ imageA, imageB, imageC, imageD, imageE ]; 
for (UIImageView* image in images) { 
    CGPoint fingerPoint = [(UIPanGestureRecognizer*)sender locationInView:[image superview]]; 
    if (CGRectContainsPoint(image.frame, fingerPoint)) { 
     // Do something. 
    } 
} 
+0

работает, но каждое изображение делает другое, поэтому я не могу использовать это – Alessandro

+0

Если вам нужно другое поведение для каждого изображения, у вас есть варианты. Вы можете подклассифицировать UIImageView и добавить метод doSomething. Вы можете создать протокол и делегировать какой-либо внешний объект. Вы можете пройти через пять кварталов. Мы не можем сделать больше для вас без каких-либо подробностей. –