Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)
1,通讯录访问介绍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
import UIKit
import AddressBookUI
class ViewController : UIViewController , ABPeoplePickerNavigationControllerDelegate {
override func viewDidLoad() {
super .viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//弹出通讯录联系人选择界面
var picker = ABPeoplePickerNavigationController ()
picker.peoplePickerDelegate = self
self .presentViewController(picker, animated: true ) { () -> Void in
}
}
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController !,
didSelectPerson person: ABRecord !) {
//获取姓
var lastName = ABRecordCopyValue (person, kABPersonLastNameProperty).takeRetainedValue()
as ! String
println ( "选中人的姓:\(lastName)" )
//获取名
var firstName = ABRecordCopyValue (person, kABPersonFirstNameProperty).takeRetainedValue()
as ! String
println ( "选中人的名:\(firstName)" )
//获取电话
var phoneValues: ABMutableMultiValueRef ? =
ABRecordCopyValue (person, kABPersonPhoneProperty).takeRetainedValue()
if phoneValues != nil {
println ( "选中人电话:" )
for i in 0 ..< ABMultiValueGetCount (phoneValues){
// 获得标签名
var phoneLabel = ABMultiValueCopyLabelAtIndex (phoneValues, i).takeRetainedValue()
as CFStringRef ;
// 转为本地标签名(能看得懂的标签名,比如work、home)
var localizedPhoneLabel = ABAddressBookCopyLocalizedLabel (phoneLabel)
.takeRetainedValue() as ! String
var value = ABMultiValueCopyValueAtIndex (phoneValues, i)
var phone = value.takeRetainedValue() as ! String
println ( "\(localizedPhoneLabel):\(phone)" )
}
}
}
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController !,
didSelectPerson person: ABRecord !, property: ABPropertyID ,
identifier: ABMultiValueIdentifier ) {
}
//取消按钮点击
func peoplePickerNavigationControllerDidCancel(peoplePicker: ABPeoplePickerNavigationController !) {
//去除地址选择界面
peoplePicker.dismissViewControllerAnimated( true , completion: { () -> Void in
})
}
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController !,
shouldContinueAfterSelectingPerson person: ABRecord !) -> Bool {
return true
}
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController !,
shouldContinueAfterSelectingPerson person: ABRecord !, property: ABPropertyID ,
identifier: ABMultiValueIdentifier ) -> Bool {
return true
}
}
|
Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)相关推荐
- 3D虚拟实景互动看房系统提供临场般的交互体验
VR虚拟漫游展示系统将真实的楼盘建筑1:1真实还原到虚拟空间中以正常视角感受楼间距,楼层高度,房间长度和房间朝向.亲自体验并评估每种方案的优缺点,以减少决策失误. 自主浏览:用户可以自己控制在场景中游 ...
- 手机丢失的通讯录联系人怎么恢复?两种简单的恢复方法
手机丢失的通讯录联系人怎么恢复?手机通讯录是我们手机里重要的功能之一,当我们手机发生故障时,我们还要时不时担心手机通讯录丢失了该怎么办,毕竟手机通讯录记录这我们许多亲朋好友的电话号码,因此是非常重要的 ...
- IOS获取系统通讯录联系人信息
2019独角兽企业重金招聘Python工程师标准>>> IOS获取系统通讯录联系人信息 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统 ...
- android导入手机,轻松!通讯录联系人导入Android手机的绝妙方法
昨天晚上买了只二手的安卓手机三星Galaxy Nexus,58同城上找的,才500块,还是很值的!我买来也是作为副用手机,主要用于学习Android系统,以后一定会多写写安卓系统方面的技术文章.今天早 ...
- java个人通讯录系统_JSP个人通讯录系统
本文简述了国内外通讯录发展现状,并对通讯录发展现状进行了深度剖析,并根据需求提出了在MyEclipse中整合SSH的平台上开发个人通讯录系统的项目计划.SSH即Struts,Spring,Hibern ...
- 系统提供的按钮和图标
为了打造一致的用户体验(也为了让您的工作更加轻松),iPhone OS提供了许多用于导航栏和工具栏的标准按钮,以及用于标签栏的图标. 本章介绍了可供您使用的标准图标和按钮,以及如何正确地使用它们.不论 ...
- php通讯录系统,EML企业通讯录管理系统 php版 v5.4
企业通讯录管理系统,向企业员工随时随地的提供企业通讯录信息,用户可在手机端实时查看人员联系方式,拨打电话等全面提高了企业内部沟通效率. 主要功能有:用户管理(添加用户,删除用户用户,更新用户资料):通 ...
- android adb 联系人,使用adb命令向Android模拟器中导入通讯录联系人的方法
本文实例讲述了使用adb命令向Android模拟器中导入通讯录联系人的方法.分享给大家供大家参考.具体实现方法如下: 使用adb提供的命令, 可以非常方便地从PC中将通讯录导入android模拟器中. ...
- 小微企业名录查询系统_欢迎访问辽宁小微企业名录系统
欢迎访问辽宁小微企业名录系统 http://xwqy.lngs.gov.cn 辽宁小微企业名录系统是小微企业扶持政策的实施公示台.集装箱,通过访问该系统网站,及时全面知晓小微企业复工复产." ...
最新文章
- Outlook 2003命令行参数开关详解
- angularjs1-1
- 2410 中断过程处理分析
- python程序设计基础考试题库及答案_智慧职教Python程序设计基础题库及答案
- AndroidStudio常用快捷键及其设置
- Java多线程_阻塞队列
- python 绘制围棋棋盘_围棋之规则基础(一)
- mybatis plus使用in查询
- LeetCode(496)——下一个更大元素 I(JavaScript)
- SSM框架之Spring MVC(二)常用注解说明
- vc6.0快捷键小结收藏
- MySQL索引实现、MySQL索引原理、索引下推、索引覆盖、索引失效
- 可视化工具sqlyog连接MySQL数据库
- S7-1500PLC仿真
- AI旋风少年二三事!C4-AI 大赛项目大赏来啦!
- msm8953 android8.1编译环境搭建
- 流利阅读 2019.3.9 Young children should be taught in their mother tongue, not in English
- STM32库函数版IIC驱动OLED屏
- java生成二维码,全过程,不要积分
- ViewDragHelper实战,实现滑动解锁
热门文章
- mysql建立pdm模型_如何使用PowerDesigner创建物理数据模型(PDM)
- Docker Compose安装
- 2020-11-13size_t和int
- CATransition
- playsound函数Linux使用,函数PlaySound和sndPlaySound的用法
- c++读取文本文件里的指定位置的字符_利用FSO对象向文本文件中写入信息
- iphonex黑屏开不了机_iphonexr黑屏,iphonexr突然开不了机
- esxi 6.7 7.0 区别_摩托车国产车和合资车有什么区别?
- 计算机应用基础课程是过程化考试吗,基于能力的计算机应用基础课程过程化考核标准构建与实施...
- html获取get信息,在HTML页面用JS获取Get参数方法(示例代码)