gpt4 book ai didi

iphone - 如何防止传递给 superview 的点击事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:34 24 4
gpt4 key购买 nike

有一个名为viewA的UIView,viewA有一个UITapGestureRecognizer,我无法修改识别器的目标代码。
viewA 有很多 subview 。对于某些特定的 subview ,我希望它们在我触摸它们时不向 viewA 传递点击事件(对于其他 subview ,它们应该向 viewA 传递点击事件)。我该怎么办?

最佳答案

将 viewA 设置为识别器的委托(delegate)。然后使用委托(delegate)方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

检查触摸是否在不需要的 subview 中:

for(UIView *v in unwantedSubviewsArray){
CGPoint touchLocation = [touch locationInView:v];
if (CGRectContainsPoint(v.frame, touchLocation)){
return NO;
}
}
return YES;

关于iphone - 如何防止传递给 superview 的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com