Swift - 按下时 UIButton 未突出显示

Swift - UIButton not highlighted while pressed

我在以编程方式添加 UIButton 时遇到问题。没有"tap-animation"。

有谁知道为什么会发生这种情况以及如何解决这个问题?我找不到关于这个主题的任何内容...

let weiterButton: UIButton = {
    let v = UIButton()
    v.translatesAutoresizingMaskIntoConstraints = false
    v.setTitle("WEITER", for: .normal)
    v.titleLabel?.font = UIFont(name: "AvenirNext-Bold", size: 20)
    v.titleLabel?.textColor = .white
    v.backgroundColor = UIColor(red: 75/255, green: 75/255, blue: 75/255, alpha: 1)
    v.addTarget(self, action: #selector(weiterButtonTapped), for: .touchUpInside)
    return v
}()

我想要的动画:

Animation

你必须设置 lazy var 而不是 let 因为你想退出你的变量(按钮)。另外,你必须设置 UIButton(type: .system) 因为你告诉那个按钮应该有某种风格。

lazy var weiterButton: UIButton = {
    let v = UIButton(type: .system)
    v.translatesAutoresizingMaskIntoConstraints = false
    v.setTitle("WEITER", for: .normal)
    v.titleLabel?.font = UIFont(name: "AvenirNext-Bold", size: 20)
    v.setTitleColor(.white, for: .normal)
    // If you want a different color when it is pressed
    v.setBackgroundImage(UIImage(named: "Hlighlighted image"), for: .highlighted)
    v.setBackgroundImage(UIImage(named: "Your image"), for: .normal)
    v.addTarget(self, action: #selector(weiterButtonTapped), for: .touchUpInside)
    return v
}()