我有一个UIButton不响应触摸事件。而且该按钮只有一些子视图,无法处理事件。因此,我用自定义的UIButton替换了它,以了解发生了什么。下面是我的代码:
@interface CustomButton : UIButton
@end
@implementation CustomButton
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
}
-(BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
{
return [super beginTrackingWithTouch:touch withEvent:event];
}
@end
我发现调用了touchesBegan:withEvent:
方法,但是从未调用过beginTrackingWithTouch:withEvent:
。似乎该事件已调度到我的按钮上,但是我不明白为什么从未跟踪该事件。任何线索将不胜感激。
答案 0 :(得分:0)
禁用按钮上方不监听事件的视图的用户交互。检查按钮是否启用了用户交互。检查UIButton
的帧大小,并确保它不为零,特别是在以编程方式使用自动布局时。