我在UIBUtton
中有UICollectionViewCell
,如图所示。我在xib中设置了 touchUpInside 操作。我设置按钮的背景图像是粉红色和标签黄色。 UIButton
位于标签的顶部。现在问题是UIButton
在粉红色区域没有触摸事件时它只会在橙色区域上获得触摸事件。为什么会这样。
- (IBAction)checkButtonTap:(id)sender event:(id)event
{
DLog(@"%s",__func__);
}
O隐藏的视图与按钮重叠,因为触摸事件没有到达按钮。
答案 0 :(得分:1)
为了确保我理解您的问题,您的UICollectionView
为黄色,UIbutton
为粉红色,是正确的吗?
如果是这样,您似乎想要以黄色截取按钮的超级视图外的touchUpInside事件。您可以查看处理问题类型的this answer。
即使您最终找到问题的解决方案,澄清我的答案,如果您想与不在其超级视图框架内的UIButton
进行交互,您可能需要实现方法{{超级视图的1}}(此处为- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
):
UICollectionViewCell
(感谢Noam!)
答案 1 :(得分:0)
UITapGestureRecognizer * tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageTapped :)]; [buttonname addGestureRecognizer:tapGesture]; buttonname.userInteractionEnabled = YES;
答案 2 :(得分:0)
对不起,由于触摸事件没有到达按钮,隐藏的视图与按钮重叠。