gpt4 book ai didi

ios - UIAlertAction 中空文本字段的摇动动画

转载 作者:行者123 更新时间:2023-11-30 10:54:30 25 4
gpt4 key购买 nike

当警报中的文本字段为空时,我试图使 UIAlert 摇动,我使用此文本字段将项目添加到我的数组中,并且使用我使用的代码,它不会将任何空值添加到我的列表中,但也不停留在 UIAlertAction 上,因此显然摇动动画也不会显示,这是我的代码:

let action = UIAlertAction(title: "Add Item", style: .default) { (action) in
if textField.text?.isEmpty ?? true {
let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.07
animation.repeatCount = 4
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: textField.center.x - 10, y: textField.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: textField.center.x + 10, y: textField.center.y))
textField.layer.add(animation, forKey: "position")
} else {
self.itemArray.append(textField.text!)
self.tableView.reloadData()
}
}

最佳答案

这里有两件事,首先只是为了帮助您,我添加了一个扩展来摇动功能:

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")
}
}

所以你使用起来会很简单,"your view".shake()它更简单。

第二也是最重要的是,你不能使用这个,甚至你尝试的方式,因为 UITextField 继承自 UIControl,并且需要来自 UIView,所以你的调整是,只需将你的 UITextFiel 放在里面一个 UIView 并向 UIView 添加摇动功能,它们将摇动内部的所有内容 :D

如果喜欢投票:D :D

关于ios - UIAlertAction 中空文本字段的摇动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54111678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com