iOS:如何模仿 'to' 字段?

标签 ios email

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

最佳答案

您将首先构建一个包含可能的电子邮件地址和您想要匹配的字符串的字典(即,名称可能是 Fred Smith,但电子邮件可能是 [email protected] )。

您的“收件人”条目将是一个 UITextField,为了获取具有自动完成功能的当前字符串,您将填充一些列表并将其显示在 UITextField 下。

要在用户键入时获取字符,请实现此委托(delegate)方法:

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

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

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

关于iOS:如何模仿 'to' 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045261/

相关文章:

ios - iOS 应用程序的内存泄漏是否会利用任何漏洞?

ios - 提高 objective-c 中的搜索性能

c - 在windows上添加openssl c语言库

c# - 使用 Windows 虚拟邮件服务器发送带有 header 返回路径的电子邮件

html - 是否有任何实际原因不首先为 Gmail 构建响应式电子邮件?

python - 如何在不暴露密码的情况下使用 Python 发送电子邮件?

ios - [自动布局]在父 View 的高度发生变化时将 UIView 附加到其父 View 的底部

iphone - 删除使用 Storyboard创建的导航栏中的半透明栏

ios - 如何使用关联数组数据源填充表头? swift XCode 6.4

php - 为什么我在使用 Zend Framework 1 发送电子邮件时收到 500 内部服务器错误?