Ios 子视图不被视为MainView的一部分

Ios 子视图不被视为MainView的一部分,ios,objective-c,uiview,uitapgesturerecognizer,Ios,Objective C,Uiview,Uitapgesturerecognizer,我的UIView中有很多子视图,其中很多都有UIButton。其中一个子视图-_bottomView坐标-0519320,49有错误。它无法识别其内部按钮上的点击事件 我尝试放置一个覆盖整个_bottomView的UIButton,但该Button testButton的点击事件也无法识别 我尝试在代码中添加一个TapRecograiser,从每个点开始点击,除了_bottomView中的点被识别。单击下面的识别器代码 UITapGestureRecognizer *gr = [[UITapGe

我的UIView中有很多子视图,其中很多都有UIButton。其中一个子视图-_bottomView坐标-0519320,49有错误。它无法识别其内部按钮上的点击事件

我尝试放置一个覆盖整个_bottomView的UIButton,但该Button testButton的点击事件也无法识别

我尝试在代码中添加一个TapRecograiser,从每个点开始点击,除了_bottomView中的点被识别。单击下面的识别器代码

UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)];
    [self.view addGestureRecognizer:gr];
    _bottomView.userInteractionEnabled=true;


-(void)handleGesture:(UIGestureRecognizer *)gestureRecognizer {
    CGPoint p = [gestureRecognizer locationInView:self.view];
        NSLog(@"got a tap in the region i care about");
}
我尝试了[self.view addSubview:_bottomView];这也没用。可能是什么问题


如果您的视图没有收到触动

确保UIView已将userInteractionEnabled设置为YES 确保视图在其superview的范围内,并且superview在window的范围内。您可以使用NSLog@%@、NSStringFromCGRectview.frame打印视图框架;
没有任何帮助。我不得不删除整个视图控制器,然后重新进行整个操作。这显然解决了问题。

您想要按钮来处理点击还是UITapgestureRecognitor?我想要按钮来处理点击。但我想,按钮所在的视图必须至少处理TapGestureRecognitor,对吗?也许你正在寻找这个。阅读此文档以获得澄清。按钮应该处理自己的点击,除非您需要按钮和视图处理单独的点击,正如@RahulWakade指出的那样。@RahulWakade不,这篇文章没有帮助。在他的案例中,提问者使用了一个手势识别器。我的应用程序中不需要tapRecognizer。我把它放进去是为了检查点击是否在那个特定的视图中被检测到。如果你阅读代码并看到我发布的屏幕,你会看到我已经检查了这两个屏幕底部视图,它的超级视图,还有[UIScreen mainScreen].bounds?超级视图-{{0,0},{320568}底部视图-{0,519},{320,49}po主屏幕原点=x=0,y=0,尺寸=宽度=320,高度=568原点=x=0,y=0,尺寸=宽度=320,高度=568