查看透明度和手势处理

我目前正在尝试创build一个视图来处理可能发生在我的应用程序上的所有手势。

我希望这个视图是透明的,以便把下面的其他视图,他们仍然会显示(我不想让它们处理视图的子视图)

手势处理工作正常,直到我从此设置“clearColor”的视图颜色,它是视图消失。 除非我坚持子视图,在这种情况下,手势只发生在子视图上时。

因此,我的问题是:我怎样才能让手势事件发生在一个透明的视图上?

尝试这样的事情。 这段代码在主视图中添加了两个子视图:“底部视图有一个红色背景,然后是”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"); }