What you need to do it programmatically reorder them . You can do this in the following way
-(void)bringTheDesiredImageViewInFront:(int))_tagForImageView
{
for(UIImageView *_subView in self.view.subviews)
{
if([_subView isKindOfClass:[UIImageView class]])
{
UIImageView *temp=(UIImageView *)_subView;
if([temp tag]==_tagForImageView)
[self.view bringSubviewToFront:temp];
}
else
continue;
}
}
Call this method whenever the selector for any gestureRecognizer is called on any UIImageView . Also set the different tag values for different UIImageView . The above method could be called like this ,
UIImageView *imageView=[[UIImageView alloc] init];
[imageView setTag:1];
[self bringTheDesiredImageViewInFront:imageView.tag]