在我的程序中,我有一个以编程方式声明的UIButton作为UIVIewController
的属性。我已将其设置为在用户触发touchUpInside
事件时发送操作,如下所示:
[restartButton addTarget:self action:@selector(handleRestart) forControlEvents:UIControlEventTouchUpInside];
其中restartButton
是UIButton
的名称。
当我在UIControlEventTouchDown
参数中输入forControlEvents
时,它可以正常工作。但是,UIControlEventTouchUpInside
根本不起作用。有谁知道这是为什么?
答案 0 :(得分:3)
您可能需要查看restartButton.bounds
。您可以将其设置为零,从而导致UIControlEventTouchUpInside
永远不会发生。检查它的最佳方法是向图层添加边框。
[restartButton.layer setBorderWidth:1.0f];
[restartButton.layer setBorderColor:[UIColor redColor].CGColor];
不要忘记#import <QuartzCore/QuartzCore.h>
以上工作
答案 1 :(得分:3)
查看此问题并回答:https://stackoverflow.com/a/11667958/607730。父视图上有一个UITapGestureReconizer,它拦截了TouchUpInside事件,但即使通过也允许触摸。