如何创建UITextField以输入多个电子邮件地址?

时间:2012-10-10 05:31:46

标签: iphone objective-c ios cocoa-touch

我有一个UITextField,我希望它能够输入多个电子邮件地址。我希望功能在MailComposer中排成一行。

我真正想要的是当用户点击按钮时我想显示地址选择器以选择电子邮件

是否有预定义的 pickerView

我该怎么做?

1 个答案:

答案 0 :(得分:0)

一种方法可能是在UIView之上定义一个透明的UITextField,它可以将其他视图作为子视图。当您开始输入地址时,您会在UITextFieldDelegate中获得textField:shouldChangeCharactersInRange:replacementString:。如果部分字符串匹配,那么您可以为每个匹配的地址创建一个新的UIView,并动态地将它们显示为要单击/点击以接受的选项。您可能会使用resizableImageWithCapInsets来创建名称所在的气泡以允许变量长度。此列表可能会随着每个角色而改变。

如果选择被接受,那么您将包含接受地址的UIView移动到地址行中的正确位置,如果没有先前地址则移动到左侧,或者如果有,则移动到最后一个地址之后。显示的任何其他地址将在当时被驳回。动画在这里看起来不错。然后将更改UITextField的框架,以便在UIView显示接受的地址之后进行文本输入。它看起来像一个UITextField,但它不是。

要做的其他事情是在每个地址添加一个X按钮,以便将其删除。您甚至可以在输入文本时解析文本,如果您有一个好的电子邮件地址解析器,将文本转换为气泡并将它们向上移动到可接受的地址。