点击 UIButton 时没有发生动作

Posted

技术标签:

【中文标题】点击 UIButton 时没有发生动作【英文标题】:Action not happening when tapping UIButton 【发布时间】:2013-09-01 15:39:06 【问题描述】:

我有一个UIButton 放在UIImageViewUILabel 上。 当我按下按钮时,我希望图像在UIImageView 中显示并且UILabel 的文本颜色要更改,当我拉起手指时,我希望图像消失并且@ 的文本颜色987654326@变回黑色。

- (void)highlightActivity:(id)sender 
    activityImage.image = [UIImage imageNamed:[[NSMutableString alloc] initWithString:activityName]];

    activityLabel.textColor = activityColor;


- (void)deHighlightActivity:(id)sender 
    activityLabel.textColor = [UIColor blackColor];
    activityImage.image = nil;

当我按下按钮然后松开时它工作正常,但是当我点击按钮时出现问题,图像根本没有显示并且文本颜色没有改变。

任何想法如何在点击时实现它?

谢谢, 诺尔。

【问题讨论】:

您在连接检查器中设置了哪些操作? highlightActivity - 触地。 deHighlightActivity - 内外修饰。 我认为它不起作用,因为您正在处理 2 个不同的操作。他们不能同时被解雇。只有一个或另一个。为此,您可能必须使用 touchesBegan: 和 touchesEnded: 来处理您想要的。 我不需要他们两个都开火。我只需要其中之一。我的目标是在我按下按钮时在按钮上显示图像,并在我拉起手指时从按钮上删除图像。 (不管是在里面还是外面我不在乎)。 【参考方案1】:

我认为问题在于你同时附上了两个

    Touch Up inside and outside on deHighlightActivity.

因为,当您按下按钮时,您最终会释放(修饰)按钮,如果您在 deHighlightActivity 的内部和外部都进行了修饰,则每次都会调用该动作。这样您的点击操作也会调用 deHighlightActivity 。

我不知道您究竟想在这里做什么,但看起来您的设计存在一些冲突。

【讨论】:

我希望该动作一直被调用。我的问题是它不会仅在我点击按钮时发生。

以上是关于点击 UIButton 时没有发生动作的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 动作

点击swift 3 iOS时UIButton没有动作

长按多次调用 UIButton 的动作

添加子视图后UIButton无法点击

UIButton在点击时没有显示任何效果?

添加UITabbar时UIButton不可点击