Nat*_*n C 4 animation uibutton ios swift3 xcode8
我有一个每3秒调用一次的函数.如何为左右摇晃的按钮制作摇动动画.
func shakeButton() {
if opened == false {
//Shake Animation
}
}
Run Code Online (Sandbox Code Playgroud)
Mak*_*kyy 16
如果我理解正确的话,试试摇动画.只需在您的UIButton子类中使用此方法即可
class CustomButton: UIButton {
func shake() {
let animation = CAKeyframeAnimation(keyPath: "transform.translation.x")
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animation.duration = 0.6
animation.values = [-20.0, 20.0, -20.0, 20.0, -10.0, 10.0, -5.0, 5.0, 0.0 ]
layer.add(animation, forKey: "shake")
}
}
Run Code Online (Sandbox Code Playgroud)
然后CustomButton在代码或storyboard/xib中创建某个地方并调用myButton.shake()
您可以根据需要采用此解决方案
UPD:我编辑的例子比完全符合你的需要
UPD2:另一个解决方案只需创建UIButton扩展
extension UIButton {
func shake() {
let animation = CAKeyframeAnimation(keyPath: "transform.translation.x")
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animation.duration = 0.6
animation.values = [-20.0, 20.0, -20.0, 20.0, -10.0, 10.0, -5.0, 5.0, 0.0 ]
layer.add(animation, forKey: "shake")
}
}
Run Code Online (Sandbox Code Playgroud)
ans使用你按钮动作回调:
@IBAction func shake(_ sender: UIButton) {
sender.shake()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3933 次 |
| 最近记录: |