Daily Archives: 2014年8月22日

如何修改UITableView索引的背景颜色

在TableView中本身有这条这样的属性

1
@property(nonatomic, retain) UIColor *sectionIndexBackgroundColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;         // the b[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2014/08/22/165503539.html">继续阅读</a></p>

ios获取系统通讯录方法

网上相关贴子很多,但基本上都来自同一个出处,基础不好的同学可能看来起会很吃力,我今天整理了一下,化繁为简只提取通讯录中姓名与电话号码,给出最简便的方便供大家参考

为方便大家调用,我写成了返回数组的方法,直接copy到你的代码中即可取得联系人对象的数组,废话不多说直接上代码吧,数据模型可自定义,只要包含姓名、号码两个成员变量即可,我这里就不粘了,根据需要自定义吧,如有需要可回复

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
- (NSArray *)getContacts:(ABAddressBookRef)adress
{
    // 1、获取通讯录
    CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(adress);
 
    // 2、遍历通讯录
    NSMutableArray *array = [NSMutableArray array];
    for (int i = 0; i < CFArrayGetCount(results); i++){
 
        // 2.1、获取单条记录
        ABRecordRef person = CFArrayGetValueAtIndex(results, i);
 
        // 2.2、取记录中的名字
        NSString *firstName = (__bridge NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
        NSString *name = (__bridge NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);
        if (firstName) name = [name stringByAppendingString:firstName];                     // 名字拼接
 
        // 2.3、取记录中的号码
        ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);         // 所有号码
        for (int k = 0; k < ABMultiValueGetCount(phones); k++){                             // 遍历取值
            NSString * phone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phones, k); // 取出号码
            RMContact *contact = [RMContact contactWithName:name phone:phone];
            [array addObject:contact];                                                      // 加入数组
        }
    }
    return array;
}

[……]

继续阅读