2

我正在编写一个应用程序,它会定期打开一封电子邮件,供用户通过电子邮件发送到 iOS 中预定的联系人列表。我有一个文本字段,我将允许用户通过从联系人列表中选择电子邮件地址和手动输入来将电子邮件地址添加到文本字段中。手动输入时,我希望能够在通讯录中自动填写电子邮件地址,就像邮件应用程序中的“收件人”字段一样。我怎样才能做到这个自动完成?

4

1 回答 1

2

您将首先构建一个包含可能的电子邮件地址的字典和一个要匹配的字符串(即,名称可能是 Fred Smith,但电子邮件可能是 f15smith@gmail.com)。

您的“To”条目将是一个 UITextField,并且要获得具有自动完成功能的当前字符串,您将填充一些列表并将其显示在 UITextField 下。

要将字符作为用户类型获取,请实现此委托方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

新字符串将是当前字符串 (myTextField.text),其中字符的“范围”被字符串替换。结果是更新匹配列表的字符串。只需从此方法返回 YES。

当用户单击列表中的联系人时,您只需将收件人文本替换为该人选择的任何联系人。

于 2012-08-20T21:34:43.743 回答