欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS實(shí)現(xiàn)從通訊錄中選擇聯(lián)系人

 更新時(shí)間:2021年08月25日 15:14:33   作者:imJackXu  
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)從通訊錄中選擇聯(lián)系人,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

有時(shí)候APP需要用戶輸入一位聯(lián)系人的姓名和電話,除了用戶手動(dòng)輸入,一般也允許用戶從通訊錄中選擇一位聯(lián)系人(圖1),下面的代碼就是使用系統(tǒng)的<AddressBookUI/AddressBookUI.h>庫實(shí)現(xiàn)這一需求。

圖1

完整代碼:

#import "ViewController.h"
#import <AddressBookUI/AddressBookUI.h>
 
@interface ViewController ()<ABPeoplePickerNavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UITextField *nameTextField;
@property (weak, nonatomic) IBOutlet UITextField *phoneTextField;
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
 
}
 
 
//用戶點(diǎn)擊選擇按鈕
- (IBAction)clickSelect:(UIButton *)sender {
    ABPeoplePickerNavigationController *picker =[[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    [self presentViewController:picker animated:YES completion:nil];
}
 
//這個(gè)方法在用戶取消選擇時(shí)調(diào)用
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker
{
    [self dismissViewControllerAnimated:YES completion:^{}];
}
 
//這個(gè)方法在用戶選擇一個(gè)聯(lián)系人后調(diào)用
-(void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{
    [self displayPerson:person];
    [self dismissViewControllerAnimated:YES completion:^{}];
}
 
//獲得選中person的信息
- (void)displayPerson:(ABRecordRef)person
{
    NSString *firstName = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
    NSString *middleName = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonMiddleNameProperty);
    NSString *lastname = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);
    NSMutableString *nameStr = [NSMutableString string];
    if (lastname!=nil) {
        [nameStr appendString:lastname];
    }
    if (middleName!=nil) {
        [nameStr appendString:middleName];
    }
    if (firstName!=nil) {
        [nameStr appendString:firstName];
    }
    
    NSString* phone = nil;
    ABMultiValueRef phoneNumbers = ABRecordCopyValue(person,kABPersonPhoneProperty);
    if (ABMultiValueGetCount(phoneNumbers) > 0) {
        phone = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
    } else {
        phone = @"[None]";
    }
    
    //可以把-、+86、空格這些過濾掉
    NSString *phoneStr = [phone stringByReplacingOccurrencesOfString:@"-" withString:@""];
    phoneStr = [phoneStr stringByReplacingOccurrencesOfString:@"+86" withString:@""];
    phoneStr = [phoneStr stringByReplacingOccurrencesOfString:@" " withString:@""];
    
    [self.nameTextField setText:nameStr];
    [self.phoneTextField setText:phoneStr];
} 
 
@end

源代碼下載:點(diǎn)擊打開鏈接

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS基礎(chǔ)動(dòng)畫教程分享

    iOS基礎(chǔ)動(dòng)畫教程分享

    這篇文章主要為大家詳細(xì)介紹了iOS幾種基礎(chǔ)動(dòng)畫教程,包括位置動(dòng)畫、透明度動(dòng)畫、大小動(dòng)畫等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • iOS開發(fā)image背景圖片拉伸問題解決分析

    iOS開發(fā)image背景圖片拉伸問題解決分析

    這篇文章主要為大家介紹了iOS開發(fā)image背景圖片拉伸問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • iOS復(fù)數(shù)cell下優(yōu)雅的代碼結(jié)構(gòu)詳解

    iOS復(fù)數(shù)cell下優(yōu)雅的代碼結(jié)構(gòu)詳解

    這篇文章主要給大家介紹了關(guān)于iOS復(fù)數(shù)cell下優(yōu)雅的代碼結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • iOS開發(fā)中簡單實(shí)用的幾個(gè)小技巧

    iOS開發(fā)中簡單實(shí)用的幾個(gè)小技巧

    大家可能都知道,在開發(fā)過程中我們總會(huì)遇到各種各樣的小問題,有些小問題并不是十分容易解決。在此我就總結(jié)一下,我在開發(fā)中遇到的各種小問題,以及我的解決方法,也算是些小技巧吧,分享給大家,方便大家在iOS開發(fā)的時(shí)候能夠參考借鑒,下面有需要的朋友一起來看看吧。
    2016-11-11
  • ios下OC與JS交互之WKWebView

    ios下OC與JS交互之WKWebView

    本篇文章主要介紹了ios下OC與JS交互之WKWebView,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • iOS應(yīng)用中存儲(chǔ)用戶設(shè)置的plist文件的創(chuàng)建與讀寫教程

    iOS應(yīng)用中存儲(chǔ)用戶設(shè)置的plist文件的創(chuàng)建與讀寫教程

    這篇文章主要介紹了iOS應(yīng)用中存儲(chǔ)用戶設(shè)置的plist文件的創(chuàng)建與讀寫教程,plist文件是在Xcode下的項(xiàng)目中會(huì)被自動(dòng)生成,里面采用XML格式記錄數(shù)據(jù),需要的朋友可以參考下
    2016-04-04
  • IOS 文件讀寫操作詳解及簡單實(shí)例

    IOS 文件讀寫操作詳解及簡單實(shí)例

    這篇文章主要介紹了IOS 文件讀寫操作詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • iOS版微信朋友圈識(shí)別圖片位置信息 如何實(shí)現(xiàn)?

    iOS版微信朋友圈識(shí)別圖片位置信息 如何實(shí)現(xiàn)?

    這篇文章主要為大家詳細(xì)介紹了iOS版微信朋友圈識(shí)別圖片位置信息的實(shí)現(xiàn)方法
    2016-10-10
  • Xcode中Info.plist字段詳解

    Xcode中Info.plist字段詳解

    我們通過本篇文章給大家整理了Xcode中Info.plist字段的詳細(xì)內(nèi)容,有需要的朋友學(xué)習(xí)下。
    2018-01-01
  • iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問題詳解

    iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問題詳解

    這篇文章主要給大家介紹了關(guān)于iOS登錄時(shí)驗(yàn)證手機(jī)號(hào)與倒計(jì)時(shí)發(fā)送驗(yàn)證碼問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2019-01-01

最新評(píng)論