Swift-按下时未突出显示UIButton

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

以编程方式添加UIButton时出现问题。没有“点击动画”。

有人知道为什么会发生这种情况以及如何解决此问题吗?我在此主题上找不到任何内容...

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

ios swift animation uibutton
2个回答
0
投票

您需要将UIButtont类型添加到系统,如下所示。

 let v = UIButton(type: .system)

您说过“当我添加此按钮时,我按钮的标题颜色将变为蓝色。”在您的评论中。

因为将UIButton类型更改为system,并且UIButton的默认标题颜色为蓝色。

所以您还需要像这样更改setTitleColor:

 v.setTitleColor(UIColor(red: ../255, green: ../255, blue: ../255, alpha: 1), for: .normal)

-1
投票

您必须设置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)
    v.setBackgroundImage(UIImage(named: "Your image"), for: .normal)
    v.addTarget(self, action: #selector(weiterButtonTapped), for: .touchUpInside)
    return v
}()
© www.soinside.com 2019 - 2024. All rights reserved.