[英]iOS main view is responding to subview gestures
我要添加带有点击手势的子视图:
从UIView类(masterButton):
[self addSubview:self.button]; // Add gesture recognizers [self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]];
ViewController:
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 :)]]];
它不起作用。 你们当中有人知道为什么吗?
非常感谢您的帮助。
像添加按钮
[self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]]
[self.button removeFromSuperview];
您正在将UITapGestureRecognizer添加到主视图
将UITapGestureRecognizer添加到self.button
而不是self
[self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]];
[self addSubview:self.button];
只需将手势添加到masterButton即可,例如下面。
[self.button addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(isTapped:)]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.