按下快速按钮时突出显示一个按钮

时间:2018-02-20 07:39:29

标签: swift colors highlight

我已经做了奥特莱斯和行动。 我已将代码链接到UI。

按下时我想要一个按钮突出显示。这是我写的代码:

 @IBAction func buttonPressed(_ sender: UIButton) {
        sender.setTitleColor(UIColor(GL_GREEN), for: .highlighted)
}

2 个答案:

答案 0 :(得分:5)

您可以继承UIButton。创建一个新的swift文件,并将其命名为您想要的任何内容,但在本例中,我将其命名为HighlightedButton。在您创建的新文件中添加以下代码。该类的命名与您创建的文件相同。

import UIKit

class HighlightedButton: UIButton {

    override var isHighlighted: Bool {
        didSet {
            backgroundColor = isHighlighted ? .red : .green
        }
    }
}

下一步是将HighlightedButton设置为按钮的类:

在故事板中选择您要更改的UIButton。在右上角的身份检查器中,有一个名为“class”的字段,其中键入“HighlightedButton”并按Enter键。现在,按钮会在突出显示时将颜色更改为红色,并在释放按钮时将颜色更改为绿色。

您可以更改为您想要的任何颜色。

答案 1 :(得分:0)

你必须做出两个动作,一个是"触及"并且"内部触及"行动。更改两个操作的背景颜色,您将实现目标