Я думаю, что есть несколько способов сделать это ...
Вы могли бы передать событие касания другому элементу управления ... хотя я не думаю, что это сработает, если вы переместите верхний вид поверх другого вида? Возможно, вам придется экспериментировать.
Более простой способ - просто посмотреть, содержит ли нижний прямоугольник точку касания:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self];
if (CGRectContainsPoint(lowerView.frame, touchLocation)) {
<doyourthing>
}
Я не помню, но вам может потребоваться преобразовать координаты вида между двумя видами?!? или вы можете задать само представление с помощью - (BOOL) pointInside: (CGPoint) point withEvent: (UIEvent *) событие