在 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
,然后您可以从那里自定义字体、颜色等。
如何自定义 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
,然后您可以从那里自定义字体、颜色等。