gpt4 book ai didi

ios - UIButton 即使在整个区域也没有接触

转载 作者:行者123 更新时间:2023-11-29 12:31:05 24 4
gpt4 key购买 nike

我在 UICollectionViewCell 中有 UIBUtton,如图所示。我在 xib 中设置了 touchUpInside Action 。我已经将按钮的背景图像设置为粉红色,标签为黄色。 UIButton 位于标签的顶部。现在的问题是 UIButton 在粉红色区域没有获得触摸事件,它只在橙色区域获得触摸事件。为什么会这样。

- (IBAction)checkButtonTap:(id)sender event:(id)event
{
DLog(@"%s",__func__);
}

enter image description here


O 隐藏 View 与按钮重叠,因此触摸事件未到达按钮。

最佳答案

为确保我理解您的问题,您的 UICollectionView 为黄色,UIbutton 为粉红色,对吗?

如果是这样,您似乎想拦截黄色按钮 super View 外的 touchUpInside 事件。你可以看看this answer处理某种问题。

即使您最终找到了问题的解决方案,为了澄清我的答案,如果您想与不在其父 View 框架内的 UIButton 进行交互,您可能需要实现方法 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 父 View (这里是 UICollectionViewCell):

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (!self.clipsToBounds && !self.hidden && self.alpha > 0) {
for (UIView *subview in self.subviews.reverseObjectEnumerator) {
CGPoint subPoint = [subview convertPoint:point fromView:self];
UIView *result = [subview hitTest:subPoint withEvent:event];
if (result != nil) {
return result;
}
}
}

return nil;
}

(感谢诺姆!)

关于ios - UIButton 即使在整个区域也没有接触,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685799/

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