用swift写一个按钮动画
时间: 2023-12-29 22:52:26 浏览: 200
按钮小动画
以下是一个简单的按钮动画示例,使用Swift语言编写:
```swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 创建按钮
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 200, height: 50))
button.center = view.center
button.setTitle("点击", for: .normal)
button.setTitleColor(.white, for: .normal)
button.backgroundColor = .blue
button.layer.cornerRadius = button.frame.height / 2
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
view.addSubview(button)
// 添加按钮动画
let animation = CABasicAnimation(keyPath: "backgroundColor")
animation.fromValue = UIColor.blue.cgColor
animation.toValue = UIColor.red.cgColor
animation.duration = 1.0
animation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
animation.autoreverses = true
animation.repeatCount = Float.infinity
button.layer.add(animation, forKey: "backgroundColor")
}
@objc func buttonTapped() {
print("按钮被点击了!")
}
}
```
这个示例中,我们创建了一个蓝色背景、白色文字的按钮,并给它添加了一个圆形的圆角。然后,我们使用`CABasicAnimation`类创建了一个简单的动画,将按钮的背景颜色从蓝色渐变到红色,并在完成后自动反转。最后,我们将动画添加到按钮的图层上,并在无限重复中运行。
当用户点击按钮时,`buttonTapped()`方法将被调用,我们在这个示例中只是简单地打印一条消息。你可以根据你的需要更改这个方法,以执行其他操作。
阅读全文