UItextfield 对宽度约束进行动画处理



>我有这段代码来对 UITextField 的宽度约束进行动画处理

self.myTextFieldWidthConstraint.constant = 200
UIView.animateWithDuration(2, delay: 0.0, options: UIViewAnimationOptions.CurveLinear, animations: { () -> Void in
    self.viewContainer.layoutIfNeeded()
}, completion: nil)

它工作正常,唯一的问题是,如果文本字段中有文本,则在动画过程中它会缩小字符宽度,然后重新调整到正确的大小。占位符文本没有相同的问题。

这是一个动图: http://makeagif.com/mr4u1D

Fahim,您可以通过在对宽度更改进行动画处理之前先让第一响应者辞职来防止文本缩放,例如:

[self.myTextField resignFirstResponder]

或者,更一般地说:

[self.view endEditing:YES]

发生这种情况是因为在制作动画时字段已经聚焦。我的假设是你在以下环境中制作动画:

func textFieldDidBeginEditing(textField: UITextField) 

但你应该在以下情况下这样做:

func textFieldShouldBeginEditing(textField: UITextField) -> Bool

最新更新