iOS TextField - 自动完成添加空白字符

标签 ios email uitextfield autosuggest

我对 UITextField 有疑问。当我启用电子邮件自动完成选项时,我可以从列表中选择一封电子邮件,但 iOS 会自动在文本字段的末尾添加空格。

这是 iOS 错误还是我可以做些什么来防止这种情况发生? 附言我知道我可以处理文本更改并从字符串末尾删除空格,但我正在寻找 native 方式。

iOS screenshot iOS screenshot

最佳答案

智能建议的默认行为是在提供的文本之后添加一个空格,如果您正在写一个句子,则在选择建议后不必点击空格。

我建议删除空格,这样即使用户尝试输入它也会被丢弃。

您可以通过在文本更​​改后以编程方式更改文本来做到这一点:

在 Controller 的 viewDidLoad 中将目标添加到您的文本字段

textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)

@objc func textFieldDidChange(_ textField: UITextField) {

    let text = textField.text ?? ""

    let trimmedText = text.trimmingCharacters(in: .whitespaces)

    textField.text = trimmedText
}

关于iOS TextField - 自动完成添加空白字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51252525/

相关文章:

ios - Swift - 从 Apple HealthKit 获取葡萄糖数据

java - 解决从 java swing 使用 javamail api 发送电子邮件时产生的异常

IOS5 : How to invoke email from NSObject class

java - 为带有附件的电子邮件设置多部分

ios - 没有边框和阴影的 UITextField

ios - inputAccessoryView 无法正常工作或格式化

ios - constraintWithItem VS constraintsWithVisualFormat 的自动布局问题

ios - 如何评估ios中的字符串方程

ios - 无法访问 Firebase 子项

ios - 如何在 iOS Objective C 的数字键盘中禁用更改语言?