在 iOS 9 中自定义 ContactPicker UI

Customize ContactPicker UI in iOS 9

如何自定义 CNContactPickerViewController 的 UI?

我想更改颜色、字体和文本 - 类似于 snapchat 的做法?

目前 - 我的 CNContactPickerViewController 看起来与 Apple 的本机联系人应用程序完全一样。

首先从通讯录中获取联系人并将其传递到 NSArray:

CNContactStore *store = [[CNContactStore alloc] init];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {

    NSMutableArray *contacts = [NSMutableArray array];

    NSError *fetchError;
    CNContactFetchRequest *request = [[CNContactFetchRequest alloc] initWithKeysToFetch:@[CNContactIdentifierKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName]]];

    BOOL success = [store enumerateContactsWithFetchRequest:request error:&fetchError usingBlock:^(CNContact *contact, BOOL *stop) {
        [contacts addObject:contact];
    }];
    if (!success) {
        NSLog(@"error = %@", fetchError);
    }
}];

然后只需在 UITableView 中使用 NSArray,然后您可以从那里自定义字体、颜色等。