以编程方式添加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
}()
我想拥有的动画:
您需要将UIButtont类型添加到系统,如下所示。
let v = UIButton(type: .system)
您说过“当我添加此按钮时,我按钮的标题颜色将变为蓝色。”在您的评论中。
因为将UIButton
类型更改为system
,并且UIButton的默认标题颜色为蓝色。
所以您还需要像这样更改setTitleColor:
v.setTitleColor(UIColor(red: ../255, green: ../255, blue: ../255, alpha: 1), for: .normal)
您必须设置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
}()