You are currently using the ContactsUI infrastructure. So in Swift 3 you can do:
import ContactsUI class ViewController: UIViewController, CNContactViewControllerDelegate { @IBAction func contactLink(_ sender: AnyObject) { let controller = CNContactViewController(forNewContact: nil) controller.delegate = self let navigationController = UINavigationController(rootViewController: controller) self.present(navigationController, animated: true) } func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) { viewController.navigationController?.dismiss(animated: true) } }
My initial answer using the AddressBookUI framework in Swift 2, below.
Swift Code:
import AddressBookUI class ViewController: UIViewController, ABNewPersonViewControllerDelegate { @IBAction func contactLink(sender: AnyObject) { let controller = ABNewPersonViewController() controller.newPersonViewDelegate = self let navigationController = UINavigationController(rootViewController: controller) self.presentViewController(navigationController, animated: true, completion: nil) } func newPersonViewController(newPersonView: ABNewPersonViewController!, didCompleteWithNewPerson person: ABRecord!) { newPersonView.navigationController?.dismissViewControllerAnimated(true, completion: nil); } }
See the “User Request to Create a New Entity Record” section in “Address Book Programming Guide: User Interaction: Requesting and Displaying Data . ”
source share