【问题标题】:Use Address Book as Data Source使用通讯簿作为数据源
【发布时间】:2010-07-18 05:03:23
【问题描述】:

我将使用通讯簿作为我的应用程序的数据源,用于添加新联系人或选择联系人。联系人主要是公司或组织,也可以是个人。

为了添加新联系人,我想显示一个联系人列表,比如人们选择控制:

alt text http://developer.apple.com/iphone/library/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Art/people_picker.jpg

但是,我无法将“取消”更改为“添加”,将“组”更改为“取消”。看起来我无法将此控制器的导航栏设置为添加。基本上,我想显示一个联系人列表以选择作为我的添加数据源,并在用户想要首先将新联系人添加到联系人并作为数据源时在同一视图中提供添加功能。

Apple 的 Address Book Programming Guideline 确实提供了一个 ABNewPersonViewController 来添加新联系人。有没有办法将它添加到所有联系人选择器作为其导航树?有没有人在 Apple 的示例列表中看到类似的示例代码(太多了,找不到)?

另一个相关问题是,当显示人员选择器控制器时,它会从下往上显示动画。有什么方法可以像导航下钻动画一样从左侧控制其动画?

【问题讨论】:

    标签: ios objective-c iphone abaddressbook


    【解决方案1】:

    我的建议:使用 ABPeoplePickerNavigationController 并在底部添加一个带有添加按钮的工具栏。添加按钮将打开 ABNewPersonViewController。

    【讨论】:

    • 这是个好建议。但是,由于我无法访问选择器控制器,并且它显示为模式视图,因此不确定如何在其底部添加工具栏?只是在控制器显示后添加一个工具栏?带有“+”和透明背景视图的小按钮怎么样?
    • ABPeoplePickerNavigationController 是 UINavigationController 的子类。只需使用工具栏属性设置工具栏项目和工具栏隐藏=否显示工具栏。
    【解决方案2】:

    要执行您想要执行的操作,您需要创建自己的控制器,该控制器使用 AB API 填充表格的单元格。您可以将控制器推送到现有的导航控制器上以获得所需的动画,并使用 ABNewPersonViewController 添加新条目。

    【讨论】:

    • 我考虑过这个选项,应该不会太难。但是,如果有任何其他选项可用于重用 AB 控制器的视图,我宁愿不重新发明轮子。
    猜你喜欢
    • 2017-04-20
    • 2010-09-07
    • 2023-03-07
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多