2010-07-18 61 views
4

我将使用地址簿作为我的应用的数据源,用于添加新联系人或选择联系人。联系人主要面向公司或组织,但可以是一个人。使用地址簿作为数据源

如果在添加新的联系人,我想显示的联系人列表,喜欢的人挑控制:

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

不过,我想不出改变取消添加,和组作为取消。看起来,我无法将此控制器的导航栏设置为添加。基本上,我想显示一个联系人列表作为我的添加数据源,并在同一视图中提供添加功能,如果用户想要先添加一个联系人作为数据源。

Apple的Address Book Programming Guideline的确提供了一个ABNewPersonViewController来添加新联系人。有什么方法可以将它添加到所有联系人选择器作为其导航树?有没有人在苹果的例子列表中看到类似的示例代码(太多了解)?

另一个相关的问题是,当显示人员选取器控制器时,它会显示自下而上的动画。有没有什么办法像导航下钻动画一样从左侧控制它的动画?

回答

1

我的推荐:使用ABPeoplePickerNavigationController并添加一个工具栏到底部有一个添加按钮。添加按钮将打开一个ABNewPersonViewController。

+0

这是很好的建议。但是,由于我无权访问选取器控制器,并且它显示为模式视图,因此不确定如何将工具栏添加到其底部?在显示控制器后只需添加一个工具栏?如何使用“+”和透明背景视图的小按钮? – 2010-07-20 14:59:46

+0

ABPeoplePickerNavigationController是UINavigationController的一个子类。只需使用工具栏属性设置toolbarItems和toolbarHidden = NO即可显示工具栏。 – 2010-07-21 11:57:23

0

要做你想做的事情,你需要创建你自己的控制器,使用AB API填充表格的单元格。您可以将控制器推到您现有的导航控制器上以获取所需的动画,并使用ABNewPersonViewController添加新条目。

+0

我想到了这个选择,这样做不应该太难。但是,如果有其他选项可用来重新使用AB控制器的视图,我宁愿不重新发明我的车轮。 – 2010-07-26 19:25:26