首页 文章

iOS主视图响应子视图手势

提问于
浏览
0

我正在使用点按手势添加子视图:

来自UIView类(masterButton):

[self addSubview:self.button];

//添加手势识别器
[self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped :)]];

视图控制器:

masterButton * button = [[masterButton alloc] initWithFrontImage:img]; [self.view addSubview:button];

我删除了子视图:

UIView * button = [controller.view viewWithTag:controller.tagButton]; [button removeFromSuperview];

触发播放音频文件的点击手势并且工作得很好但是当我删除子视图并且我点击子视图所在的相同区域时它播放音频就像子视图在那里一样 . 如果主视图没有响应子视图的任何手势,我如何以某种方式添加子视图?

我正在从UIview子类生成子视图,如果我尝试添加这样的手势:

[self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped :)]];

它不起作用 . 你们谁都知道为什么?

我真的很感谢你的帮助 .

3 回答

  • 0

    添加按钮就好

    [self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]]
    
    [self.button removeFromSuperview];
    
  • 1

    您正在将UITapGestureRecognizer添加到主视图中

    将UITapGestureRecognizer添加到 self.button 而不是 self

    [self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]];
    [self addSubview:self.button];
    
  • 0

    只需将Gesture添加到masterButton就像下面一样..

    [self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]];
    

相关问题