このようなことを試してください。このコードは、メイン ビューに 2 つのサブビューを追加します。「bottomView」は背景が赤で、「testView」はタップ ジェスチャ認識機能を備えた「bottomView」の上に透明なオーバーレイです。とにかく「testView」でタップすると、 NSLog メッセージを出力してください。
-(void)viewDidLoad
{
[super viewDidLoad];
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[bottomView setBackgroundColor:[UIColor redColor]];
[self.view addSubview:bottomView];
UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 150)];
[testView setBackgroundColor:[UIColor clearColor]];
[self.view addSubview:testView];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(handleTap:)];
[tapRecognizer setNumberOfTapsRequired:1];
[tapRecognizer setDelegate:testView];
[testView addGestureRecognizer:tapRecognizer];
}
-(void)handleTap:(UITapGestureRecognizer *)sender
{
NSLog(@"Tapped Subview");
}