一尘不染

在Swift中为UITextField / UIView摇动动画

swift

我试图弄清楚当用户将文本字段留空时如何使文本字段在按下按钮时摇动。

我目前有以下代码在工作:

if self.subTotalAmountData.text == "" {

    let alertController = UIAlertController(title: "Title", message:
        "What is the Sub-Total!", preferredStyle: UIAlertControllerStyle.Alert)
    alertController.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default,handler: nil))

    self.presentViewController(alertController, animated: true, completion: nil)

} else {

}

但我认为,仅将文本字段摇动作为警报会更具吸引力。

我找不到任何可以使文本字段动起来的东西。

有任何想法吗?

谢谢!


阅读 223

收藏
2020-07-07

共1个答案

一尘不染

您可以更改durationrepeatCount并调整它。这就是我在代码中使用的。改变fromValuetoValue将改变摇动中移动的距离。

let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.07
animation.repeatCount = 4
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: viewToShake.center.x - 10, y: viewToShake.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: viewToShake.center.x + 10, y: viewToShake.center.y))

viewToShake.layer.add(animation, forKey: "position")
2020-07-07