如何在用户开始编辑后将占位符附加到textview / textfield

时间:2017-02-14 18:36:33

标签: ios uitextfield uitextview

我正在尝试创建textfield输入,强制用户输入电子邮件地址但强制域(当用户输入返回时验证域逻辑),因此用户输入与之关联的电子邮件那个域名。这需要在UI本身非常清楚,我已经尝试使用UITextField,但由于占位符在用户开始编辑后被清除,因此效果不佳。以下是Slack应用程序的示例屏幕截图,其中显示了类似的文本字段 -

EG。用户输入团队域,并将“.slack.com”附加到用户文本。

enter image description here

2 个答案:

答案 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

中详细说明了这一点。
相关问题