我正在尝试创建textfield
输入,强制用户输入电子邮件地址但强制域(当用户输入返回时验证域逻辑),因此用户输入与之关联的电子邮件那个域名。这需要在UI本身非常清楚,我已经尝试使用UITextField,但由于占位符在用户开始编辑后被清除,因此效果不佳。以下是Slack应用程序的示例屏幕截图,其中显示了类似的文本字段 -
EG。用户输入团队域,并将“.slack.com”附加到用户文本。
答案 0 :(得分:1)
从NSAttributedString
次调用中设置textField.text
作为textField:shouldChangeCharactersInRange:replacementString:
将为您提供所需的行为。
答案 1 :(得分:0)
当用户注明星标时,您可以将结束域附加到用户键入的内容。您还可以使用属性字符串来更改附加文本的颜色,使其看起来仍然是占位符的一部分。这应该在textField:shouldChangeCharactersInRange:replacementString:
中完成
查看官方文档https://developer.apple.com/reference/uikit/uitextfielddelegate/1619599-textfield?language=objc
要将光标设置在所需位置,您可以使用UITextPosition,this answer
中详细说明了这一点。