Contacts picker component using new contacts framework by apple
EPContactsPicker
Contacts picker component using new contacts framework by apple
Preview
Installation
CocoaPods
EPContactsPicker is available on CocoaPods. Just add the following to your project Podfile:
pod 'EPContactsPicker'
Manual Installation
Just drag and drop the EPContactsPicker
folder into your project
Requirements
- iOS9+
- Swift 3.0
- ARC
For manual installation you might have to add these frameworks in your Build Phases
ContactsUI.framework
and Contacts.framework
.
Features
EPContacts Picker provides lot of features which lets you customize the picker
- Single selection and multiselection option
- Search Contacts
- Making the secondary data to show as requested(Phonenumbers, Emails, Birthday and Organisation)
- Section Indexes to easily navigate throught the contacts
- Showing initials when image is not available
- EPContact object to get the properties of the contacts
Initialization
Init the picker by passing delegate, multiselection option and the secondary data(Phone number, Email, brithday and Organisation) to be displayed
let contactPickerScene = EPContactsPicker(delegate: self, multiSelection:false, subtitleCellType: SubtitleCellValue.Email)
let navigationController = UINavigationController(rootViewController: contactPickerScene)
self.presentViewController(navigationController, animated: true, completion: nil)
Delegates
EPContactsPicker provides you four delegates for getting the callbacks on the picker
func epContactPicker(_: EPContactsPicker, didContactFetchFailed error : NSError)
func epContactPicker(_: EPContactsPicker, didCancel error : NSError)
func epContactPicker(_: EPContactsPicker, didSelectContact contact : EPContact)
func epContactPicker(_: EPContactsPicker, didSelectMultipleContacts contacts : [EPContact])
EPContact Object
EPContact object provides you the properties of a contact. This contains properties like displayname, initials, firstname, lastname, organisation, birthdayString etc
License
EPContactsPicker is available under the MIT license. See the LICENSE file for more info.