iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
来源:互联网 发布:淘宝买华为p8 编辑:程序博客网 时间:2024/05/20 23:59
通讯录中联系人相关的应用iPhone提供了两个框架:AddressBook.framework和AddressBookUI.framework,
使用这两个框架我们可以在程序中访问并显示iPhone数据库中的联系人信息。
1.AddressBookUI显示部分
AddressBookUI中提供了和联系人显示信息相关的一些Controller,有四个:
ABPeoplePickerNavigation
ABPersonViewController:显示一个具体联系人的信息
ABNewPersonViewControlle
ABUnknownPersonViewContr
由于其中最主要的是ABPeoplePickerNavigation
(a)创建并初始化一个ABPeoplePickerNavigation
(b)设置其代理(delegate)
(c)用presentModalViewControll
例子:
- -
(IBAction)showPicker:(id)sender { -
ABPeoplePickerNavigation Controller * = -
[[ABPeoplePickerNavigation Controller alloc] init]; -
= self; -
[self presentModalViewControll er:picker animated:YES]; -
[picker release]; - }
ABPeoplePickerNavigation
(1)
- peoplePickerNavigationCo
ntrollerDidCancel:
当用户选择取消时调用这个方法,可以在这个方法里取消整个通讯录页面的显示。
(2)
- peoplePickerNavigationCo
ntroller:shouldContinueAfterSelec tingPerson:
当用户选择了通讯录中某一个联系人时调用这个方法,可以在这里获取联系人的信息。如果希望可以继续显示这个联系人更具体的信息,则return YES。否则取消整个通讯录页面的显示并return NO。
(3)
- eoplePickerNavigationCon
troller:shouldContinueAfterSelec tingPerson:property:identifier:
如果上一个方法返回的是YES,则会显示某一个联系人信息,如果选择了联系人的某一项纪录,就会调用这个方法,可以通过点击选择联系人的某一项信息。如果希望可以对选择的某一项纪录进行进一步操作,比如直接拨打电话或调用邮箱发送邮件,则return YES。否则取消整个通讯录页面的显示并return NO。
===============================examples=======================================
例子:
- -
(void)peoplePickerNavigationCo ntrollerDidCancel:(ABPeoplePickerNavigation Controller *)peoplePicker { - //
assigning control back to the main controller - [picker
dismissModalViewControll erAnimated:YES]; - }
- -
(BOOL)peoplePickerNavigationCo ntroller: (ABPeoplePickerNavigation Controller *)peoplePicker - shouldContinueAfterSelec
tingPerson:(ABRecordRef)person { - //获取联系人姓名
- name.text
= (NSString*)ABRecordCopyCompositeNam e(person); - //获取联系人电话
- ABMutableMultiValueRef
phoneMulti = ABRecordCopyValue(person,kABPersonPhoneProperty); - NSMutableArray
* phones= [[NSMutableArray alloc] init]; - int
i; - for
( i= 0;i <ABMultiValueGetCount(phoneMulti); i++) { - NSString
* aPhone= [(NSString*)ABMultiValueCopyValueAtI ndex(phoneMulti, i) autorelease]; - NSString
* aLabel= [(NSString*)ABMultiValueCopyLabelAtI ndex(phoneMulti, i) autorelease]; - NSLog(@"PhoneLabel:%@
Phone#:%@",aLabel,aPhone); - if([aLabel
isEqualToString:@"_$! <Mobile>!$_"]) - {
- [phones
addObject:aPhone]; - }
- }
- phoneNo.text=@"";
- if([phones
count] >0) - {
- NSString
* mobileNo= [phones objectAtIndex:0]; - phoneNo.text
= mobileNo; - //NSLog(mobileNo);
- }
- //获取联系人邮箱
- ABMutableMultiValueRef
emailMulti = ABRecordCopyValue(person,kABPersonEmailProperty); - NSMutableArray
* emails= [[NSMutableArray alloc] init]; - for
( i= 0;i< ABMultiValueGetCount(emailMulti); i++) - {
- NSString
* emailAdress= [(NSString*)ABMultiValueCopyValueAtI ndex(emailMulti, i) autorelease]; - [emails
addObject:emailAdress]; - }
- email.text=@"";
- if([emails
count] >0) - {
- NSString
* emailFirst=[emailsobjectAtIndex:0]; - email.text
= emailFirst; - //NSLog(emailFirst);
- }
- [peoplePicker
dismissModalViewControll erAnimated:YES]; - return
NO; - }
- -
(BOOL)peoplePickerNavigationCo ntroller: (ABPeoplePickerNavigation Controller *)peoplePicker -
shouldContinueAfterSelec tingPerson:(ABRecordRef)person - property:(ABPropertyID)property
-
identifier:(ABMultiValueIdentifier)identifier{ - return
NO; - }
- iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
- iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
- iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
- IOS进阶 AddressBook.framework和AddressBookUI.framework访问通讯录
- ios中获取当前手机通讯录信息一、在工程中添加AddressBook.framework和AddressBookUI.framework
- 手机联系人相关AddressBookUI.Framwork和AddressBook.Framework
- iOS手机联系人相关AddressBookUI.Framwork和AddressBook.Framework
- AddressBook、AddressBookUI、Contacts、ContactsUI 通讯录操作
- iOS开发------操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)
- 操作通讯录(AddressBook篇)&通讯录UI(AddressBookUI篇)
- AddressBookUI Framework in iOS9 beta4
- iPhone应用 Framework
- AddressBook.Framework应用之ABAddressBookRef,ABRecordRef,ABMutableMultiValueRef,ABMultiValueRef
- 关于ios9中得AddressBook和AddressBookUI框架过时问题
- iPhone OS和iPhone Simulator的Framework的区别
- 手机通讯录AddressBook的使用
- iPhone的Framework的目录:
- ios开发 通信录AddressBook.framework
- 提问的艺术
- 面向对象编程进阶
- Oracle案例:分析10053跟踪文件
- li 标签左右显示[图]
- 自定义UITableView:核心代码就3句
- iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
- WSDL Style和use的组合方式说明
- WPF 自定义控件不能不服
- WM_CLOSE 和 WM_DESTORY
- Fedora 16安装Oracle 11g Release 2
- jquery阻止用户点Backspace返回上一页
- Win7下VS2010配置DirectShow (WIN32 控制台应用程序)
- 10亿量级LAMP架构分享
- xml 入门 shema_01