在我的应用程序中,我需要允许用户组装电子邮件的“收件人列表”。就能够选择联系人而言,内置的邮件编辑器正是我想要的。它有一个下拉列表,显示您正在输入的潜在匹配联系人。但是,这不适用于发送电子邮件,因此我不想要 CC、主题和正文控件。
只是控件中的“收件人”字段以某种方式可用吗?如果不编写大量代码,我真的不知道如何做到这一点。
我想我总是可以调出一个邮件编写器,然后再调出另一个视图来覆盖表单的其余部分,但我宁愿只利用 To 字段。
这可能吗?
也许这会帮助别人。经过大量搜索后,我没有看到任何仅利用 To: 字段的方法。我最终编写了自己的一组视图控制器来复制操作和行为。我做了以下课程:
在 Contacts 类中,我使用 ABAddressBookRequestAccessWithCompletion 创建了一个 Contact* 对象的 NSArray,并在构造数组时对其进行排序。
然后我有两个视图控制器,就像邮件编写器一样。
在第一个视图控制器上,有一个 UITextField 用于输入电子邮件地址或姓名,一个 UITableView 用于显示与输入字符串匹配的联系人,以及一个 UIScrollView,每次在表中选择联系人时,我都会将 UIButtons 添加到该 UIScrollView 中。UITextView 上的每个 editingChanged 事件都会创建/更新数据源到 UITableView。还有另外两个 UIButton。一个用于将手动输入的电子邮件地址添加到所选联系人列表中(此按钮仅在文本输入与 emiail 正则表达式匹配时可见),另一个按钮是显示 UITableViewController 如果用户宁愿浏览联系人而不是输入联系人并挑选结果。