1

我有一个UITextField并且我希望它能够输入多个电子邮件地址。我希望功能作为 line in MailComposer

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

是否有任何预定义的pickerView

我怎样才能做到这一点?

4

1 回答 1

0

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

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

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

于 2012-10-10T05:34:45.387 回答