欢迎来到天天文库
浏览记录
ID:32534041
大小:99.30 KB
页数:10页
时间:2019-02-11
《addressbook学习笔记iphone入门学习》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、iPhone入门学习——AddressBook学习笔记本帖最后由joinjoy于2010-3-2921:34编辑AddressBook学习笔记一.基本知识和通讯录中联系人相关的应用iPhone提供了两个框架:AddressBook.framework和AddressBookUI.framework,使用这两个框架我们可以在程序中访问并显示iPhone数据库中的联系人信息。二.具体介绍1.AddressBookUI显示部分AddressBookUI中提供了和联系人显示信息相关的一些Controller,有四个:ABPeoplePickerN
2、avigationController:显示整个通讯录并可以选择一个联系人的信息ABPersonViewController:显示一个具体联系人的信息ABNewPersonViewController:增加一个新的联系人ABUnknownPersonViewController:完善一个联系人的信息由于其中最主要的是ABPeoplePickerNavigationController,因此就具体的介绍一下通过程序显示整个通讯录并且可以选择其中某个联系人信息的步骤。(a)创建并初始化一个ABPeoplePickerNavigationCon
3、troller对象(b)设置其代理(delegate)(c)用presentModalViewController:animated:这个方法进行显示整个通讯录页面例子:-(IBAction)showPicker:(id)sender{ABPeoplePickerNavigationController*picker=[[ABPeoplePickerNavigationControlleralloc]init];picker.peoplePickerDelegate=self;[selfpresentModalViewController
4、:pickeranimated:YES];[pickerrelease];}ABPeoplePickerNavigationControllerDelegate的方法介绍(a)peoplePickerNavigationControllerDidCancel:当用户选择取消时调用这个方法,可以在这个方法里取消整个通讯录页面的显示。(b)peoplePickerNavigationController:shouldContinueAfterSelectingPerson:当用户选择了通讯录中某一个联系人时调用这个方法,可以在这里获取联系人的
5、信息。如果希望可以继续显示这个联系人更具体的信息,则returnYES。否则取消整个通讯录页面的显示并returnNO。(c)peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:如果上一个方法返回的是YES,则会显示某一个联系人信息,如果选择了联系人的某一项纪录,就会调用这个方法,可以通过点击选择联系人的某一项信息。如果希望可以对选择的某一项纪录进行进一步操作,比如直接拨打电话或调用邮箱发送邮件,则returnYES
6、。否则取消整个通讯录页面的显示并returnNO。例子:-(void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController*)peoplePicker{//assigningcontrolbacktothemaincontroller[pickerdismissModalViewControllerAnimated:YES];}-(BOOL)peoplePickerNavigationController:(ABPeoplePickerN
7、avigationController*)peoplePickershouldContinueAfterSelectingPerson:(ABRecordRef)person{//获取联系人姓名name.text=(NSString*)ABRecordCopyCompositeName(person);//获取联系人电话ABMutableMultiValueRefphoneMulti=ABRecordCopyValue(person,kABPersonPhoneProperty);NSMutableArray*phones=[[NSMut
8、ableArrayalloc]init];inti;for(i=0;i
此文档下载收益归作者所有