3

在我的程序中,我有一个 UIButton 以编程方式声明为UIVIewController. 我已将其设置为在用户触发touchUpInside事件时发送操作,如下所示:

[restartButton addTarget:self action:@selector(handleRestart) forControlEvents:UIControlEventTouchUpInside];restartButton的名字在 哪里UIButton

当我输入UIControlEventTouchDown参数forControlEvents时,它工作正常。但是,UIControlEventTouchUpInside根本行不通。有人知道这是为什么吗?

4

2 回答 2

4

查看这个问题和答案:https ://stackoverflow.com/a/11667958/607730 。父视图上有一个 UITapGestureReconizer ,它拦截了 TouchUpInside 事件,但允许触摸甚至通过。

于 2012-08-04T02:15:35.910 回答
3

您可能需要检查restartButton.bounds. 您可以简单地将其设置为零,从而导致UIControlEventTouchUpInside永远不会发生。检查它的最佳方法是向图层添加边框。

[restartButton.layer setBorderWidth:1.0f];
[restartButton.layer setBorderColor:[UIColor redColor].CGColor];

不要忘记#import <QuartzCore/QuartzCore.h>上面的工作

于 2012-06-10T13:54:18.683 回答