创建类似于 iPad 的“联系人”应用程序的地址簿 UI

Posted

技术标签:

【中文标题】创建类似于 iPad 的“联系人”应用程序的地址簿 UI【英文标题】:Creating an Address Book UI Similar to iPad's 'Contacts' App 【发布时间】:2011-03-27 15:44:39 【问题描述】:

我正在为 iPad 编写一个应用程序,该应用程序允许用户从通讯录中选择联系人并输入新联系人 - 其中一些新联系人可能会保存回通讯录,有些可能只驻留在我的本地数据库中。我想做的是创建一个看起来类似于 Apple 的联系人应用程序的界面。当我查看地址簿 UI API 时,看起来这个 UI 是专为 iPhone 设计的。对我来说,看起来我有三个选项:1)允许地址簿导航控制器劫持全屏(我不确定如何将我本地存储的联系人添加到列表中)2)在 a 中显示地址簿 UI popover 3) 直接访问通讯录并从头开始构建我自己的 UI。它是否正确?创建联系人列表很容易,但“新联系人”用户界面会很麻烦。我不能以某种方式在子视图中至少使用 ABNewPersonViewController 吗?

感谢您提供的任何帮助!

【问题讨论】:

如果此类应用容易混淆或提供与地址簿相同的功能,您可能不太可能获得 Apple 的批准 【参考方案1】:

Apple 会希望您使用他们的 ABAddressBook。 Apple Docs(查看地址簿编程指南)中所述的首选方法是通过使用记录 ID 来维护与真实地址簿的链接,以便您在本地与之合作的任何人也在真实地址簿中。 Apple 建议您将 recordID、名字、姓氏和复合名称存储在本地数据库中。此外,您将存储任何特定于您的应用程序的数据。

您可以使用 peoplePicker 的委托方法来保持人员对象的句柄。

当您使用recordID 时,有一个方法ABAddressBookGetPersonWithRecordID 将返回一个人记录,如果一个人记录存在于真实地址簿中。然后您可以使用ABPersonViewController 编辑它们。一个选项是在您的通讯录中没有匹配的记录 ID 的任何时候使用ABUnknownPersonViewController

【讨论】:

以上是关于创建类似于 iPad 的“联系人”应用程序的地址簿 UI的主要内容,如果未能解决你的问题,请参考以下文章

实现类似于 iPhone 联系人应用程序的“添加照片”按钮

重新创建类似于 ARIA ipad 应用程序的垂直标签栏的最安全方法

iOS - 如何通过应用程序联系人有选择地导入/导出 iPad 联系人

使用 iOS Addressbook api 搜索交换联系人

类似于 Evernote iPad 应用的工具栏按钮

实现类似于原生联系人搜索的搜索?