UIButton 触摸不闪烁

UIButton not Blinking on Touch

我有一个 UIButton,它是在 UIView 中以编程方式创建的(层次结构中没有其他级别)。按钮 确实可以正确响应 touchUpInside 事件 ,但是,出于某种原因,文本 没有表现出正常的 "blink" 行为感动。如果有人知道是什么原因造成的,我想找回它。

其他注意事项:我有 userInteractionEnabled = TRUE 并且我的代码中没有自定义动画。相关实例化代码(UIColor名称来自自定义类别):

self.loginButton = [[UIButton alloc] init];
self.loginButton.backgroundColor = [UIColor MPBlackColor];
[self.loginButton setTitle:@"LOG IN" forState:UIControlStateNormal];
[self.loginButton setTitleColor:[UIColor MPGreenColor] forState:UIControlStateNormal];
self.loginButton.titleLabel.font = [UIFont fontWithName:@"Oswald-Bold" size:24.0f];

问题是您为正常状态自定义的颜色也适用于突出显示状态,除非您为突出显示状态指定单独的颜色。这适用于所有按钮状态相关的值。

为正常和突出显示的按钮状态应用颜色。在 Swift:

loginButton.setTitleColor(.green, for: .normal)
loginButton.setTitleColor(.green, for: .highlighted)

注意:相同的逻辑适用于带有图像的闪烁按钮。您应该同时设置 .normal.highlighted 状态