Здесь две вещи, во-первых, чтобы помочь вам, я добавляю расширение для функции встряхивания:
extension UIView {
func shake(duration timeDuration: Double = 0.07, repeat countRepeat: Float = 3){
let animation = CABasicAnimation(keyPath: "position")
animation.duration = timeDuration
animation.repeatCount = countRepeat
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: self.center.x - 10, y: self.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: self.center.x + 10, y: self.center.y))
self.layer.add(animation, forKey: "position")
}
}
Так что для вас использовать может быть просто, как, "ваш взгляд" .shake () это проще.
Вторым и самым важным является то, что вы не можете использовать это или даже то, что пытались, потому что UITextField наследуется от UIControl и должен быть от UIView, так что вам нужно просто настроить UITextFiel внутри. UIView и добавьте функциональность встряхивания в UIView, и они потрясут все внутри: D
Если нравится голосование: D: D