Ios UITextfield反弹文本

Ios UITextfield反弹文本,ios,swift,uitextfield,Ios,Swift,Uitextfield,我为文本字段设置了插入 class PrimaryTextField:UITextField{ var padding=UIEdgeInsets(顶部:0,左侧:15,底部:0,右侧:15) 重写打开的func textRect(forBounds-bounds:CGRect)->CGRect{ 返回UIEDGEINSETINSETINSERCT(边界、填充) } 重写打开的func占位符rect(forBounds-bounds:CGRect)->CGRect{ 返回UIEDGEINSETIN

我为文本字段设置了插入

class PrimaryTextField:UITextField{
var padding=UIEdgeInsets(顶部:0,左侧:15,底部:0,右侧:15)
重写打开的func textRect(forBounds-bounds:CGRect)->CGRect{
返回UIEDGEINSETINSETINSERCT(边界、填充)
}
重写打开的func占位符rect(forBounds-bounds:CGRect)->CGRect{
返回UIEDGEINSETINSETINSERCT(边界、填充)
}
重写open func editingRect(forBounds-bounds:CGRect)->CGRect{
返回UIEDGEINSETINSETINSERCT(边界、填充)
}
}
它工作得很好,但当用户在文本字段之间跳跃时,文本会反弹


问题只出现在真实设备上,模拟器正常。您是否有任何想法,如何解决此问题?

您可以创建
i可检测UITextField

class PaddedTextField: UITextField {

    @IBInspectable var padding: CGFloat = 0

    override func textRect(forBounds bounds: CGRect) -> CGRect {
        return CGRect(x: bounds.origin.x + padding, y: bounds.origin.y, width: bounds.width - padding * 2, height: bounds.height)
    }

    override func editingRect(forBounds bounds: CGRect) -> CGRect {
        return CGRect(x: bounds.origin.x + padding, y: bounds.origin.y, width: bounds.width - padding * 2, height: bounds.height)
    }
}
它在iOS设备中也对我有效


请尝试告诉我。

键盘将隐藏和显示通知时出现问题。我在那里设置约束动画。在动画和文本不再反弹之前,我在下面添加了代码

UIView.perform无动画({
emailTextField.layoutIfNeeded()
passwordTextField.layoutIfNeeded()
})

嘿,还是一样的问题。解决了我的问题这对我来说是个解决方案。