[英]Highlight a button when Pressed In swift
我已经做了奥特莱斯和行动。 我已将代码链接到 UI。
我想要一个按钮在按下时突出显示。 这是我写的代码:
@IBAction func buttonPressed(_ sender: UIButton) {
sender.setTitleColor(UIColor(GL_GREEN), for: .highlighted)
}
您可以子类化UIButton。 创建一个新的swift文件,并将其命名为您想要的任何内容,但在本例中,我将其命名为HighlightedButton。 在您创建的新文件中添加以下代码。 该类的名称与您创建的文件相同。
import UIKit
class HighlightedButton: UIButton {
override var isHighlighted: Bool {
didSet {
backgroundColor = isHighlighted ? .red : .green
}
}
}
下一步是将HighlightedButton设置为按钮的类:
在故事板中选择您要更改的UIButton。 在右上角的身份检查器中,有一个名为“class”的字段,其中键入“HighlightedButton”并按Enter键。 现在,当您突出显示按钮时,按钮会将颜色更改为红色,然后返回绿色。
您可以更改为您想要的任何颜色。
你必须做出两个动作,一个是“向下触摸”和“向内触摸”动作。 更改两个动作的背景颜色,您将实现目标
2021年...
您只需将 ButtonType 设置为 .system ,按下时它会突出显示。
let button = UIButton(type: .system)
为了清楚起见,这是我制作的一个按钮:
lazy var myButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("Show More", for: .normal)
button.setTitleColor(.systemBlue, for: .normal)
button.titleLabel?.font = .systemFont(ofSize: 17, weight: .regular)
button.layer.masksToBounds = true
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
return button
}()
@objc fileprivate func buttonTapped() {
//code for segue
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.