二维码扫名片
来源:互联网 发布:三国志11mac版打不开 编辑:程序博客网 时间:2024/04/19 13:41
在扫码结果的方法里调用
[reader setCompletionWithBlock:^(NSString *resultAsString) { [beSelf dismissViewControllerAnimated:YES completion:^{ if (![AppUtils isBlankString:resultAsString]) { _resultString = resultAsString;// UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"扫描结果" message:resultAsString delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定",nil];// // alert.tag = 10;// [alert show]; ScanResultViewController *resultVC = [[ScanResultViewController alloc]init]; if ([resultAsString hasPrefix:@"BEGIN:VCARD"]) {//名片以这种开头的 NSMutableDictionary *vCardArr = [[NSMutableDictionary alloc]init]; NSString *a = [ResolveVcard vcardTurnToMutableArray:resultAsString]; vCardArr = [AppUtils jsonToArrayOrNSDictionary:a]; if ([vCardArr count]>0) { finalArr = [[NSMutableArray alloc]initWithCapacity:0]; for (NSInteger i = 0 ; i < vCardArr.allKeys.count ; i ++) { NSString *key = vCardArr.allKeys[i]; if (![[NSString stringWithFormat:@"%@",[vCardArr objectForKey:key]] isEqualToString:@""]) { NSString *Astr = [ResolveVcard whatString: key :[vCardArr objectForKey:key]]; [finalArr addObject:Astr]; } } NSLog(@"fina %@",finalArr); if (finalArr.count > 0) { resultVC.resultType = TYPE_CARD; resultVC.resultArr = finalArr; } } }else if([resultAsString rangeOfString:@"CARD:"].location != NSNotFound){ NSMutableDictionary* vCardArr = [[NSMutableDictionary alloc] init]; NSString *a = [ResolveVcard mecardTurnToMutableArray:resultAsString]; vCardArr = [AppUtils jsonToArrayOrNSDictionary:a]; if ([vCardArr count]> 0 ) { finalArr = [[NSMutableArray alloc] init]; for (NSInteger i = 0 ; i < vCardArr.allKeys.count ; i ++) { NSString *key = vCardArr.allKeys[i]; if (![[NSString stringWithFormat:@"%@",[vCardArr objectForKey:key]] isEqualToString:@""]) { NSString *Astr = [ResolveVcard whatString: key :[vCardArr objectForKey:key]]; [finalArr addObject:Astr]; } } if (finalArr.count > 0) { resultVC.resultType = TYPE_CARD; resultVC.resultArr = finalArr; } NSLog(@"退出后finalArr count==%d %@",[finalArr count],finalArr); } }else{//其他的都是网址生成的二维码 if ([resultAsString hasPrefix:@"http://"] ||[resultAsString hasPrefix:@"https://"] ||[resultAsString hasPrefix:@"HTTP://"] ||[resultAsString hasPrefix:@"HTTPS://"]) { NSLog(@"%@",resultAsString); resultVC.resultType = TYPE_HTTP; resultVC.httpString = resultAsString; } } _isDisMiss = YES; _isShouldShow = YES; [self.navigationController pushViewController:resultVC animated:YES]; } }]; }]; [self presentViewController:reader animated:YES completion:NULL];创建一个类<pre name="code" class="objc">#import <Foundation/Foundation.h>@interface ResolveVcard : NSObject+ (NSString *) vcardTurnToMutableArray:(NSString *) cardString;+ (NSString *) mecardTurnToMutableArray:(NSString *) cardString;+ (NSString *) whatString:(NSString*) cardString :(NSString*)valueId;@end
//// resolveVcard.m// XXXX//// Created by Tony on 15/7/23.// Copyright (c) 2015年 Tony. All rights reserved.//#import "ResolveVcard.h"@implementation ResolveVcard+ (NSString *) whatString:(NSString*) cardString :(NSString*)valueId{ NSLog(@"valueId===%@===",valueId); NSString *valueStr = [NSString stringWithFormat:@"%@",valueId]; NSLog(@"id===%@===",cardString); NSString *resultStr = [NSString stringWithFormat:@""]; if ([cardString isEqual:@"NAME"]) { resultStr = [resultStr stringByAppendingFormat:@"姓名: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"TEL"]) { resultStr = [resultStr stringByAppendingFormat:@"电话: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"EMAIL"]) { resultStr = [resultStr stringByAppendingFormat:@"邮箱: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"ADDRESS"]) { resultStr = [resultStr stringByAppendingFormat:@"地址: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"ORG"]) { resultStr = [resultStr stringByAppendingFormat:@"公司: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"URL"]) { resultStr = [resultStr stringByAppendingFormat:@"网址: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"TITLE"]) { resultStr = [resultStr stringByAppendingFormat:@"职位: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"BDAY"]) { resultStr = [resultStr stringByAppendingFormat:@"出生年月: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; }if ([cardString isEqual:@"NOTE"]) { resultStr = [resultStr stringByAppendingFormat:@"备注: "]; resultStr = [resultStr stringByAppendingFormat:valueStr,nil]; } NSLog(@"resultStr===%@===",resultStr); return resultStr;}//其他格式+ (NSString *) mecardTurnToMutableArray:(NSString *) cardString{ /* BEGIN CARD:N:李XX;COR:公司名;TIL:经理;TEL:13899;M:186000;EM:xx@xx.com;IM:QQ 1232;ADR:地址;URL:http://xxx.com;; */ /* MECARD:N:aaaaa;TEL:234234;EMAIL:3434;ADR:rrrrrrrrrr;URL:http */ /* CARD:N:李XX;COR:公司名;ADR:地址;ZIP:43000;TEL:0239999;M:186393939;EM:KK@KK.COM;URL:HTTP://BAIDU.COM;; */ NSArray *cardArray; // 去除CARD:及之前的字符串 cardString = [cardString substringFromIndex:([cardString rangeOfString: @"CARD:"].location+@"CARD:".length)]; //没有找到更好的方法,所以还是使用死方法,定死数组字段名。如果以后找到更好的方法再更改 //预设定:NAME,TEL,EMAIL,ADDRESS,ORG,URL cardArray = [cardString componentsSeparatedByString:@";"]; //a 是一种JSON格式。方便转目录或者数组 NSString *a = [NSString stringWithFormat:@"{"]; for (NSString *str in cardArray) { NSLog(@"str in cardArray is==%@==",str); //提取NAME名字 if ([str hasPrefix:@"N:"]) { a = [a stringByAppendingString:@"\"NAME\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"N:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取TEL电话 if ([str hasPrefix:@"TEL:"]) { a = [a stringByAppendingString:@"\"TEL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"TEL:".length)]]; a = [a stringByAppendingString:@"\","]; } //职位 if ([str hasPrefix:@"TITLE:"]) { a = [a stringByAppendingString:@"\"TITLE\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"TITLE:".length)]]; a = [a stringByAppendingString:@"\","]; } //出生 if ([str hasPrefix:@"BDAY:"]) { a = [a stringByAppendingString:@"\"BDAY\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"BDAY:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取EMAIL电邮 if ([str hasPrefix:@"EMAIL:"]) { a = [a stringByAppendingString:@"\"EMAIL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"EMAIL:".length)]]; a = [a stringByAppendingString:@"\","]; } if ([str hasPrefix:@"EM:"]) { a = [a stringByAppendingString:@"\"EMAIL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"EM:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取ADR地址 if ([str hasPrefix:@"ADR:"]) { a = [a stringByAppendingString:@"\"ADDRESS\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"ADR:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取ORG公司 if ([str hasPrefix:@"ORG:"]) { a = [a stringByAppendingString:@"\"ORG\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"ORG:".length)]]; a = [a stringByAppendingString:@"\","]; } if ([str hasPrefix:@"COR:"]) { a = [a stringByAppendingString:@"\"ORG\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"COR:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取URL网址 if ([str hasPrefix:@"URL:"]) { a = [a stringByAppendingString:@"\"URL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"URL:".length)]]; a = [a stringByAppendingString:@"\","]; } //备注 if ([str hasPrefix:@"NOTE:"]) { a = [a stringByAppendingString:@"\"NOTE\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"NOTE:".length)]]; a = [a stringByAppendingString:@"\","]; } } a = [a stringByAppendingString:@"\"end数组结束end\":\""]; a = [a stringByAppendingString:@""]; a = [a stringByAppendingFormat:@"\"}"]; NSLog(@"a==%@",a); return a;}//将标准vcard数据转可变数组+ (NSString *) vcardTurnToMutableArray:(NSString *) cardString{ /* //以下是一个标准的vcard格式 BEGIN:VCARD VERSION:3.0 N:X;XX TEL:1383838438 EMAIL:xx@xx.com ADR:;;地址;;城市;邮编 ORG:公司 TITLE: URL:网址 NOTE:QQ:998 END:VCARD */ NSArray *cardArray; //判断是否是正规的vcard格式 if ([cardString hasPrefix:@"BEGIN:VCARD"]){ //去除掉头部 cardString = [cardString substringFromIndex:(@"BEGIN:VCARD\n".length)]; NSLog(@"取后的cardstring :===%@==",cardString); //分割转换成数组 cardArray = [cardString componentsSeparatedByString:@"\n"]; NSLog(@"分割后的数组 :%@",cardArray); } //没有找到更好的方法,所以还是使用死方法,定死数组字段名。如果以后找到更好的方法再更改 //预设定:NAME,TEL,EMAIL,ADDRESS,ORG,URL NSString *a = [NSString stringWithFormat:@"{"]; for (NSString *str in cardArray) { NSLog(@"str in cardArray is==%@==",str); //提取NAME名字 if ([str hasPrefix:@"FN:"]) { a = [a stringByAppendingString:@"\"NAME\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"N:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取TEL电话 if ([str hasPrefix:@"TEL;"]) { NSString *s = [str substringFromIndex:(@"TEL;".length)]; a = [a stringByAppendingString:@"\"TEL\":\""]; a = [a stringByAppendingString:[s substringFromIndex:(@"CELL:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取EMAIL电邮 if ([str hasPrefix:@"EMAIL:"]) { a = [a stringByAppendingString:@"\"EMAIL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"EMAIL:".length)]]; a = [a stringByAppendingString:@"\","]; } if ([str hasPrefix:@"TITLE:"]) { a = [a stringByAppendingString:@"\"TITLE\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"TITLE:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取地址 if ([str hasPrefix:@"ADR:"]) { a = [a stringByAppendingString:@"\"ADDRESS\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"ADR:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取EMAIL电邮 if ([str hasPrefix:@"ORG:"]) { a = [a stringByAppendingString:@"\"ORG\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"ORG:".length)]]; a = [a stringByAppendingString:@"\","]; } //提取EMAIL电邮 if ([str hasPrefix:@"URL:"]) { a = [a stringByAppendingString:@"\"URL\":\""]; a = [a stringByAppendingString:[str substringFromIndex:(@"URL:".length)]]; a = [a stringByAppendingString:@"\","]; } } a = [a stringByAppendingString:@"\"end数组结束end\":\""]; a = [a stringByAppendingString:@""]; a = [a stringByAppendingFormat:@"\"}"]; NSLog(@"a==%@",a); return a;}@end扫码结果展示以及新建联系人
//
// ScanResultViewController.m
// CheckIn
//
// Created by Tony on 15/7/23.
// Copyright (c) 2015年 zhiye. All rights reserved.
//
#import "ScanResultViewController.h"
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
#import "UIImage+additions.h"
@interface ScanResultViewController ()<UIWebViewDelegate,UITableViewDelegate,UITableViewDataSource,UIActionSheetDelegate,ABNewPersonViewControllerDelegate>
{
UIActivityIndicatorView *activityView;
}
@end
@implementation ScanResultViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
if (self.resultType == TYPE_HTTP) {
[self showWebview];
}else
[self showCardView];
}
- (void)showCardView{
self.navigationItem.title = @"详细资料";
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, KWindowW, KWindowH - 64)];
scrollView.backgroundColor = RGBCOLOR(243, 245, 247);
[self.view addSubview:scrollView];
UITableView *table = [[UITableView alloc]initWithFrame:CGRectMake(0, 30, KWindowW, _resultArr.count *50)];
table.delegate = self;
table.dataSource = self;
table.bounces = NO;
[scrollView addSubview:table];
[AppUtils setExtraCellLineHidden:table];
if ([table respondsToSelector:@selector(setSeparatorInset:)])
{
[table setSeparatorInset:UIEdgeInsetsZero];
}
if ([table respondsToSelector:@selector(setLayoutMargins:)])
{
[table setLayoutMargins:UIEdgeInsetsZero];
}
UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
saveBtn.frame = CGRectMake(20, CGRectGetMaxY(table.frame) + 30, KWindowW - 40, 40);
saveBtn.backgroundColor = MAINCOLOR;
saveBtn.layer.cornerRadius = 5;
saveBtn.layer.masksToBounds = YES;
[saveBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[saveBtn setTitle:@"保存" forState:UIControlStateNormal];
[saveBtn addTarget:self action:@selector(saveContact) forControlEvents:UIControlEventTouchUpInside];
[scrollView addSubview:saveBtn];
scrollView.contentSize = CGSizeMake(KWindowW, CGRectGetHeight(table.frame) + 30 + 100);
}
- (void)showWebview{
self.navigationItem.title = @"扫码网址";
UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, KWindowW, KWindowH - 64)];
webView.delegate = self;
[self.view addSubview:webView];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:_httpString]]];
activityView = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 32, 32)];
activityView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
activityView.center = CGPointMake(self.view.center.x, self.view.center.y - 64);
[self.view addSubview:activityView];
}
- (void)saveContact{
UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"扫码信息" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"新建联系人", nil];
[actionSheet showInView:self.view];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0) {
[self addContact];
}
}
#pragma mark-
#pragma mark-UITableviewDelegate\UITabelViewDatasource
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
// Prevent the cell from inheriting the Table View's margin settings
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
[cell setPreservesSuperviewLayoutMargins:NO];
}
// Explictly set your cell's layout margins
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return _resultArr.count;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
cell.textLabel.text = [_resultArr objectAtIndex:indexPath.row];
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 50;
}
#pragma mark-
#pragma mark-UIWebviewDelegate
- (void)webViewDidStartLoad:(UIWebView *)webView{
[activityView startAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[activityView stopAnimating];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
[activityView stopAnimating];
}
#pragma mark-
#pragma mark-添加联系人
- (void)addContact{
if ([_resultArr count] > 0) {
ABNewPersonViewController *newPersonViewController = [[ABNewPersonViewController alloc] init];
// newPersonViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"确定" style:UIBarButtonItemStylePlain target:self action:@selector(confimAddContact)];
//创建一条联系人记录
ABRecordRef tmpRecord = ABPersonCreate();
CFErrorRef error;
BOOL tmpSuccess = NO;
for (int i = 0; i < [_resultArr count]; i++) {
NSString *firstStr = [[_resultArr objectAtIndex:i] substringToIndex:(@"前部: ".length)];
NSString *SecondStr = [[_resultArr objectAtIndex:i] substringFromIndex:(@"前部: ".length)];
NSLog(@"firstStr:==%@==SecondStr===%@==",firstStr,SecondStr);
if ([firstStr hasPrefix:@"姓名: "]) {
NSString *name = [NSString stringWithFormat:SecondStr,nil];
// NSString *Xname = [NSString stringWithFormat:@""];
// //如果有分割 如:X;XX
// if ([name rangeOfString:@";"].location !=NSNotFound) {
// Xname = [name substringToIndex:([name rangeOfString:@";"].location)];
// name = [name substringFromIndex:([name rangeOfString:@";"].location+1)];
// }
//First name 名 --OK
//注意转换类型
CFStringRef tmpFirstName = (__bridge CFStringRef)([name substringFromIndex:1]);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonFirstNameProperty, tmpFirstName, &error);
//Last name 姓 --OK
CFStringRef tmpLastName = (__bridge CFStringRef)([name substringToIndex:1]);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonLastNameProperty, tmpLastName, &error);
// CFRelease(tmpLastName);
}
if ([firstStr hasPrefix:@"电话: "]) {
CFStringRef tel = (__bridge CFStringRef)([NSString stringWithFormat:SecondStr,nil]);
ABMutableMultiValueRef tmpMutableMultiPhones = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(tmpMutableMultiPhones, tel, kABPersonPhoneMobileLabel, NULL);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonPhoneProperty, tmpMutableMultiPhones, &error);
// CFRelease(tmpPhones);
}
if ([firstStr hasPrefix:@"邮箱: "]) {
CFStringRef mail = (__bridge CFStringRef)([NSString stringWithFormat:SecondStr,nil]);
//email 邮件
ABMutableMultiValueRef tmpMutableMultiEmails = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(tmpMutableMultiEmails, mail, kABWorkLabel, NULL);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonEmailProperty, tmpMutableMultiEmails, &error);
// CFRelease(tmpEmail);
}
if ([firstStr hasPrefix:@"公司: "]) {
NSString *org = [NSString stringWithFormat:SecondStr,nil];
//公司 --OK
CFStringRef tmpCompany = (__bridge CFStringRef)(org);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonOrganizationProperty, tmpCompany, &error);
// CFRelease(tmpCompany);
}
if ([firstStr hasPrefix:@"网址: "]) {
CFStringRef url = (__bridge CFStringRef)([NSString stringWithFormat:SecondStr,nil]);
//网址
ABMutableMultiValueRef tmpMutableMultiUrls = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(tmpMutableMultiUrls, url, kABWorkLabel, NULL);
tmpSuccess = ABRecordSetValue(tmpRecord, kABPersonURLProperty, tmpMutableMultiUrls, &error);
// CFRelease(tmpUrl);
}
if ([firstStr hasPrefix:@"地址: "]) {
NSString *address = [NSString stringWithFormat:SecondStr,nil];
//地址
//;;xxx;;XX;400039
NSString *strCity = [NSString stringWithFormat:@""];
NSString *strState = [NSString stringWithFormat:@""];
NSString *strZip = [NSString stringWithFormat:@""];
NSString *strCountry = [NSString stringWithFormat:@""];
NSString *strCountryCode = [NSString stringWithFormat:@""];
if ([address rangeOfString:@";"].location != NSNotFound) {
NSArray *addarray = [address componentsSeparatedByString:@";"];
if ([addarray count] == 6) {
address = [NSString stringWithFormat:[addarray objectAtIndex:2],nil];
strCity = [NSString stringWithFormat:[addarray objectAtIndex:4],nil];
strState = [NSString stringWithFormat:[addarray objectAtIndex:3],nil];
strZip = [NSString stringWithFormat:[addarray objectAtIndex:5],nil];
strCountry = [NSString stringWithFormat:[addarray objectAtIndex:1],nil];
strCountryCode = [NSString stringWithFormat:[addarray objectAtIndex:0],nil];
}
}
// ABMutableMultiValueRef multiAddress = ABMultiValueCreateMutable(kABDictionaryPropertyType);
//
// NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];
// [addressDictionary setObject:address forKey:(__bridge NSString *) kABPersonAddressStreetKey];
// [addressDictionary setObject:strCity forKey:(__bridge NSString *)kABPersonAddressCityKey];
// [addressDictionary setObject:strState forKey:(__bridge NSString *)kABPersonAddressStateKey];
// [addressDictionary setObject:strZip forKey:(__bridge NSString *)kABPersonAddressZIPKey];
// [addressDictionary setObject:strCountry forKey:(__bridge NSString *)kABPersonAddressCountryKey];
// [addressDictionary setObject:strCountryCode forKey:(__bridge NSString *)kABPersonAddressCountryCodeKey];
//
// ABMultiValueIdentifier identifier;
// ABMultiValueAddValueAndLabel(multiAddress,(__bridge CFTypeRef)(addressDictionary), kABWorkLabel, &identifier);
// tmpSuccess =ABRecordSetValue(tmpRecord, kABPersonAddressProperty, multiAddress, &error);
// CFRelease(multiAddress);
// CFRelease((CFTypeRef) addressDictionary);
}
}
newPersonViewController.displayedPerson = tmpRecord;
newPersonViewController.newPersonViewDelegate = self;
[self.navigationController pushViewController:newPersonViewController animated:YES];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:RGBCOLOR(255, 255, 255) size:CGSizeMake(KWindowW, 64)] forBarMetrics:UIBarMetricsDefault];
// newPersonViewController.navigationItem.title = @"添加联系人";
UILabel *t = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 44)];
t.textAlignment = NSTextAlignmentCenter;
t.textColor = [UIColor blueColor];
t.text =@"添加联系人";
newPersonViewController.navigationItem.titleView = t;
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
}
- (void) newPersonViewController:(ABNewPersonViewController *)newPersonView didCompleteWithNewPerson:(ABRecordRef)person
{
// [self.navigationController setNavigationBarHidden:YES animated:YES];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:MAINCOLOR size:CGSizeMake(KWindowW, 64)] forBarMetrics:UIBarMetricsDefault];
[self.navigationController popViewControllerAnimated:YES];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
转自http://blog.csdn.net/icash/article/details/7739159
0 0
- 二维码扫名片
- Android 仿微信二维码名片制作,生成二维码,扫码生成名片表单信息
- 二维码名片
- 二维码名片格式
- php 生成二维码名片
- 二维码点子名片格式
- 如何设计名片二维码
- iOS_二维码名片vCard
- C#生成二维码名片
- 生成二维码名片
- 二维码名片的格式
- IOS生成二维码、扫二维码
- 扫码二维码
- ios 二维码扫瞄
- IOS 扫二维码
- Android 二维码扫码
- IOS 二维码扫码
- ZXing扫二维码,变形
- java 序列化
- C++编程对缓冲区的理解
- CentOS7_x86_64安装Oracle10g R2血泪史
- JAVA 堆和栈
- JavaScript学习要点(七)
- 二维码扫名片
- 【mongodb系统学习之八】mongodb shell常用操作
- 网络拓扑结构
- 预览图片
- Android数据存储之内部存储、外部存储
- NSSet集合
- 暑假集训——个人训练赛04——I题
- [LeetCode]Find Peak Element
- 服务器CPU的那些事