我正在编写一个应用程序,该应用会定期打开一封电子邮件,供用户通过电子邮件发送到iOS中预定的联系人列表。我有一个文本字段,我将允许用户通过从联系人列表中选择电子邮件地址并手动输入电子邮件地址到文本字段。手动输入时,我希望能够在联系簿中自动填写电子邮件地址,就像邮件应用程序中的“收件人”字段一样。我该怎么做这个自动完成?
答案 0 :(得分:2)
您将首先构建一个可能的电子邮件地址和要匹配的字符串的字典(即,名称可能是Fred Smith,但电子邮件可能是f15smith@gmail.com)。
您的“收件人”条目将是一个UITextField,要获得具有自动填充功能的当前字符串,您将填充一些列表并在UITextField下显示它。
要将字符作为用户类型,请实现此委托方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
新字符串将是当前字符串(myTextField.text),其中“range”字符由字符串替换。结果是更新匹配列表的字符串。只需从此方法返回YES。
当用户点击列表中的联系人时,您只需将该文字替换为所选人员的任何联系人。