iOS 全新的联系人与联系人UI框架

Demo地址:我的github仓库



啦啦啦,一天一更新博客的节奏啊,前天晚上研究滴滴出行APP,发现它有一个紧急联系人的功能诶!!!

宝宝仔细的研究了一下,发现弹出联系人的控制器(CNContactPickerViewController)之后当选择一个联系人之后,

滴滴上就出现了我选择的那个联系人的名字诶!!!

跟我存储联系人的名字一模一样!!!

由此进行了一番研究,于昨晚在浩如烟海的博客中找到了这篇比较详细的博客与大家分享,其中做了一些修改。

/*******************分割线*********************/

一、引言

        在以前iOS开发中,涉及联系人相关的编程,代码都非常繁琐,并且框架的设计也不是Objective-C风格的,这使开发者用起来非常的难受。在iOS9中,apple终于解决了这个问题,全新的Contacts Framework将完全替代AddressBookFramework,AddressBookFramework也将成为历史被弃用。至于AddressBookFramework的相关api如何繁琐,在以前的博客中有记录,地址如下:

联系人信息相关编程:http://my.oschina.net/u/2340880/blog/407347

联系人UI界面相关编程:http://my.oschina.net/u/2340880/blog/407973

        这一新的框架是iOS9新特性中十分受欢迎的一个。apple的Objective—C体系也更加完善与强大。

二、让我们来添加一个联系人

        新的框架的整体思路是通过配置与请求来管理联系人,这样做有一个非常大的好处,逻辑简单,代码层次清晰。如下,通过添加一个联系人来向大家做演示:

1、联系人对象:CNContact

这个对象是用来配置联系人信息的,有可变的CNMutaleContact和CNContact,区别用来读取和创建联系人。CNContact对象中有许多属性,对应联系人的一些信息。

首先,创建CNMutableContact对象:

 CNMutableContact * contact = [[CNMutableContact alloc]init];


设置联系人头像:

contact.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"Icon.png"]);


设置联系人姓名:

  //设置名字
    contact.givenName = @"Yanhua";
    //设置姓氏
    contact.familyName = @"Wong";


设置联系人邮箱:

CNLabeledValue *homeEmail = [CNLabeledValue labeledValueWithLabel:CNLabelHome value:@"emywong@sina.com"];
     CNLabeledValue *workEmail =[CNLabeledValue labe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值