如何禁用 UIButton 在单击时突出显示?

问题描述 投票:0回答:4

我尝试了堆栈溢出的多种解决方案,但没有成功。我已经设置了

HighlightedAdjustsImage = false

在我的代码中:

button.backgroundColor = .clear
button.layer.borderWidth = 0

在我的

IBAction
按钮内,我正在更改图像并将 isSelected 的值设置为:

*button.isSelected = !button.isSelected*

内部故事板

我在这里做错了什么?

ios swift uikit uibutton
4个回答
0
投票

试试这个

要禁用

UIButton
单击时的突出显示效果,可以将其
showsTouchWhenHighlighted
属性设置为 false。具体方法如下:

yourButton.showsTouchWhenHighlighted = false

0
投票

问题在于故事板中按钮的样式设置(屏幕截图中的第二个弹出菜单)。

将样式从“普通”更改为“默认”,按钮将根据您的规范开始工作。


0
投票

我通过删除以下代码解决了我的问题。

button.isSelected = !button.isSelected

设置 isSelected 值是在单击时突出显示按钮,将其删除并添加我自己的标志。


-1
投票

要禁用 UIButton 的突出显示效果, 请在您的代码中添加以下扩展:

 class NoHighlightButton: UIButton {
    override var isHighlighted: Bool {
        get {
            return false
        }
        set {
            // Do nothing to prevent the default highlighting behavior
        }
    }
}

之后转到界面生成器并将按钮类 UIButton 更改为 NoHighlightButton。您的问题将会得到解决。

© www.soinside.com 2019 - 2024. All rights reserved.