VeeContactPicker是buggy ABPeoplePickerNavigationController的Objective-C替代品:用于从地址簿中选择联系人的ViewController。
导入ViewController
# import "VeeContactPickerViewController.h"
初始化它并设置代理
VeeContactPickerViewController *veeContactPickerViewController = [[VeeContactPickerViewController alloc] initWithDefaultConfiguration];
veeContactPickerViewController.contactPickerDelegate = self;
//do you want to select multiple contacts? veeContactPickerViewController.multipleSelection = YES;
[self presentViewController:veeContactPickerViewController animated:YES completion:nil];
实现代理
- (void)didSelectContact:(id<VeeContactProt>)veeContact
{
//veeContact was selected
}
- (void)didSelectContacts:(NSArray<id<VeeContactProt>> *)veeContacts
{
//veeContact were selected
}
- (void)didCancelContactSelection
{
//No contact was selected
}
- (void)didFailToAccessAddressBook
{
//Show an error?
}
就是这样!
您可以通过更改VeeContactPickerOptions对象并传递给初始化器来自定义选择器的某些属性
- (instancetype)initWithOptions:(VeeContactPickerOptions*)veeContactPickerOptions;
例如,如果您不喜欢联系人初始的图片作为占位符,则可以设置自己的占位符图片
VeeContactPickerOptions *veeContactPickerOptions = [VeeContactPickerOptions alloc] initWithDefaultOptions];
veeContactPickerOptions.showInitialsPlaceholder = NO;
veeContactPickerOptions.contactThumbnailImagePlaceholder = [UIImage imageNamed:@"your_placeholder"];
//...
VeeContactPickerViewController *veeContactPickerViewController = [[VeeContactPickerViewController alloc] initWithOptions:veeContactPickerOptions];
//...
联系人的图片占位符由AGCInitials提供。如果您想,您还可以自定义颜色方案,请参见AGCInitials的README。
veeContactPickerOptions.veeContactPickerStrings
- (instancetype)initWithVeeContacts:(NSArray<id<VeeContactProt>>*)veeContacts;
选择器外观
在加载选择器之前,您可以操作对象VeeContactPickerAppearanceConstants来自定义联系人的外观。
例如
[[VeeContactPickerAppearanceConstants sharedInstance] setNavigationBarTintColor:[UIColor purpleColor]];
[[VeeContactPickerAppearanceConstants sharedInstance] setNavigationBarTranslucent:NO];
[[VeeContactPickerAppearanceConstants sharedInstance] setContactCellPrimaryLabelFont:[UIFont yourFont]];
//...
[self presentViewController:veeContactPickerViewController animated:YES completion:nil];
要运行示例项目,首先克隆仓库,从示例目录中先运行pod install
。
或者,您甚至可以使用Appetize
在线尝试示例Appetize。
VeeContactPicker通过CocoaPods可用。要安装
它,请简单地向您的Podfile添加以下行
pod "VeeContactPicker"
Andrea Cipriani [email protected] - Code Atlas SRL
VeeContactPicker在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。
VeeContactPicker已用于App Store中的我们的应用Veer Contacts Widget;如果您欣赏我们的工作,您可以免费下载该应用!