3

我有一个大的 UIButton,我在点击期间对其进行了子类化并设置了背景颜色。

    [self addTarget:self action:@selector(pressed) forControlEvents:UIControlEventTouchDown];
    [self addTarget:self action:@selector(releasedInside) forControlEvents:UIControlEventTouchUpInside];
    [self addTarget:self action:@selector(releasedOutside) forControlEvents:UIControlEventTouchUpOutside];

但是,它似乎仅在我按下按钮上带有文本的区域时才会响应。当我点击彩色背景时,我希望它也能做出响应。这该怎么做?

4

2 回答 2

7

该按钮没有响应其中的点击(我周围有一个边框,所以我知道它的边界),因为我在点击它之前将背景设置为透明。

我设法通过设置来解决:

[self setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.01]];

很奇怪为什么会这样……

于 2013-11-04T08:52:14.233 回答
2

我刚碰到这个。如果您的按钮和 UIView 都具有透明背景,iOS 似乎不会注册点击。我想这是因为您正在点击屏幕的“未绘制”部分,所以这意味着您只能点击彩色按钮标签。我通过在我的主 UIView 上设置黑色背景来解决这个问题。

于 2014-11-21T11:17:50.713 回答