Cen*_*ion 25 objective-c uibutton ios
如何在点击时禁用按钮高亮效果?具有白色bg颜色和DarkGray文本颜色的自定义按钮.问题是按钮单击时文本变为白色.已经尝试但没有一个工作:
一个.在界面构建器中取消选中"突出显示的Ajusts图像".
湾 在按下按钮的方法中尝试设置突出显示= NO:
((UIButton *)sender).highlighted = NO
Run Code Online (Sandbox Code Playgroud)
C.尝试为highlihted状态设置相同的标题:
[button setTitle:[button titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)
有什么建议?
Pau*_*ski 45
你也可以从StoryBoard制作UIButton类型:custom

这应该为您删除任何系统行为.(我认为)
LE *_*ANG 12
UIButton将在点击时突出显示,因此检查按钮设置将高亮状态配置中的标题颜色更改为与默认状态相同或者您可以设置:
[button setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)
如果要通过代码控制突出显示,可以禁用子类Button突出显示的正常,并在touchesBegin中禁用:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    if (self.state == UIControlStateHighlighted) {
        [self setHighlighted:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)
        旧的过时的答案和旧的问题,但最新和最简单的方法是:
    overlayButton.adjustsImageWhenHighlighted = false
Run Code Online (Sandbox Code Playgroud)
        我在网上发现的所有解决方案都没有一个适合我(包括此处列出的解决方案),因此我最终在我的自定义UIButton子类中进行了此操作:
// swift:
override var isHighlighted: Bool {
    didSet { if isHighlighted { isHighlighted = false } }
}
Run Code Online (Sandbox Code Playgroud)
我也有buttonType设置为.custom,但在这里可能没有什么区别。
现在:不再有奇怪的突出显示或彩色动画!
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           34458 次  |  
        
|   最近记录:  |