我正在创建一个应用程序,其中在登录页面显示两个文本字段。如果用户输入不正确的输入,那么它将在文本字段
前面显示十字符号。为了显示这个符号,我减少了 UITextField 的宽度。我想在减少宽度
的同时做一些动画。我已完成以下操作:
let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.1
animation.repeatCount = 1
animation.autoreverses = true
animation.fromValue = NSValue(CGPoint: CGPointMake(textFieldEmail.center.x - 5, textFieldEmail.center.y))
animation.toValue = NSValue(CGPoint: CGPointMake(textFieldEmail.center.x + 5, textFieldEmail.center.y))
textFieldEmail.layer.addAnimation(animation, forKey: "position")
self.imageViewCrossPassword.hidden = false
self.passwordRightMarginContraint.constant = 25
上面的代码应用了摇动动画。但我想要一些不同的东西,我只能将其应用于 UITextField
的右侧。建议始终受到赞赏。 :-)
最佳答案
您可以在 textFieldEmail
上添加宽度约束,并使用如下代码为其更改添加动画效果
self.emailWidthConstraint.constant = self.textFieldEmail.bounds.size.width + 5;
UIView.animateWithDuration(0.1, delay: 0, options:.Autoreverse, animations: { () -> Void in
self.textFieldEmail.layoutIfNeeded()
}, completion: nil);
关于ios - 如何在 Swift 中动态减小宽度的同时对 UITextField 进行动画处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471503/