iOS开发学习001_01:Address Book 01 显示通讯录中某人姓名、电话
来源:互联网 发布:软件过程的概念 编辑:程序博客网 时间:2024/04/30 02:24
Address Book主要是用于获取用户通讯录信息。有关的framework主要是Address Book UI和Address Book。
以下将先通过几个例子对其进行介绍,再进行查漏补缺。
先来做个快速了解,创建一个简单app,选取用户通讯录中某个人,并显示其姓名及电话。
1、创建工程,导入Address Book UI、Address Book frameworks.
2、打开storyboard,添加一个button和两个labels
功能:点击button,跳转到通讯录,选取某人,显示其firstName和phoneNumber。
3、链接button、labels和view controller
FPViewController.h
//// FPViewController.h// Address Book//// Created by Emma on 15/5/21.// Copyright (c) 2015年 Emma. All rights reserved.//#import <UIKit/UIKit.h>#import <AddressBookUI/AddressBookUI.h>@interface FPViewController : UIViewController<ABPeoplePickerNavigationControllerDelegate>//labels@property (weak, nonatomic) IBOutlet UILabel *fristName;@property (weak, nonatomic) IBOutlet UILabel *phoneNumber;//button Action- (IBAction)showPicker:(id)sender;@end注意添加ABPeoplePickerNavigationControllerDelegate协议。
4、button动作的实现
#pragma mark - Action//打开通讯录- (IBAction)showPicker:(id)sender{ //通讯录controller ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; picker.peoplePickerDelegate = self; //显示通讯录 [self presentViewController:picker animated:YES completion:nil];}5、在delegate中实现对用户动作的回应
//当点击cancel时触发- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker{ [self dismissViewControllerAnimated:YES completion:nil];}//iOS8接口更新//Called after a person has been selected by the user.当某人被用户选中时触发,iOS8新接口- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{ [self displayPerson:person]; [self dismissViewControllerAnimated:YES completion:nil];}//iOS8前接口//Sent when the user selects a contact.当某人被用户选中时触发,iOS8前接口- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ [self displayPerson:person]; [self dismissViewControllerAnimated:YES completion:nil]; return NO;}//Sent when the user selects one of a person’s properties.当用户选取了某人的某一属性时触发- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{ return NO;}//显示被选中人得信息- (void)displayPerson:(ABRecordRef)person{ //_bridge_transfer将Core Foundation框架数据类型对象转换为Foundation框架数据类型对象,且将对象的所有权交给ARC管理 //显示名字,property为kABPersonFirstNameProperty NSString* name = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty); self.fristName.text = name; //显示号码,property为kABPersonPhoneProperty NSString* phone = nil; ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty); //选取首个号码 if (ABMultiValueGetCount(phoneNumbers) > 0) { phone = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0); } else { phone = @"[NONE]"; } self.phoneNumber.text = phone; CFRelease(phoneNumbers);}
参考:
apple官方文档Address Book_Quick Start Tutorial.
Address Book部分所有文章:
Address Book部分完整工程:
0 0
- iOS开发学习001_01:Address Book 01 显示通讯录中某人姓名、电话
- IOS编程:Address Book
- [iOS] contact address book
- ios address book
- 获取邮箱通讯录(contacts/email address book)
- 获取邮箱通讯录(contacts/email address book)
- 获取邮箱通讯录(contacts/email address book)
- 获取通讯录,电话,姓名,地址邮箱
- iOS开发获取手机通讯录中的电话号码和姓名
- iOS开发获取手机通讯录中的电话号码和姓名
- iOS 自定义通讯录(包含姓名和电话等 按拼音分组,索引)
- ios address book 操作大全
- iOS Address Book编程指南
- ios address book 操作大全
- ios address book 操作大全
- iOS 通讯录拨打电话
- Android中跳转到手机通讯录并返回电话和姓名
- 学习iphone - address book recorder
- BSTR、LPSTR、LPWSTR、CString、VARIANT、COleVariant 、_variant_t、CComBSTR、_bstr_t
- 变态最大值
- gRPC三分钟入门(c++)https://github.com/grpc/grpc/blob/master/INSTALL
- android studio如何与git绑定
- 第七章:MongoDB管理维护Replica Sets(读写分离&故障转移&增删节点)
- iOS开发学习001_01:Address Book 01 显示通讯录中某人姓名、电话
- SQL Server 2005和2000的共存(一台机器同时安装两个)
- 数据库的隔离级别
- JUnit4 多线程执行测试用例
- AT&T汇编和Intel汇编区别
- 第八章:MongoDB sharding 分片
- 凹函数与凸函数
- 【C语言】strcpy函数的实现
- Javascript常见兼容问题解决方案汇总(一)