デリゲート メソッドを使用して custom を表示すると、メソッドが呼び出されなくなることに気付きました。contactPicker:didSelectContact
CNContactViewController
contactPicker:didSelectContactProperty
func openPicker() {
let picker = CNContactPickerViewController()
picker.delegate = self
self.presentViewController(picker, animated: true, completion: nil)
}
func contactPicker(picker: CNContactPickerViewController, didSelectContact contact: CNContact) {
//contactPicker:didSelectContactProperty works when this method is commented out
let controller = CNContactViewController(forContact: contact)
controller.delegate = self
self.navigationController?.pushViewController(controller, animated: true)
}
func contactViewController(viewController: CNContactViewController, shouldPerformDefaultActionForContactProperty property: CNContactProperty) -> Bool {
return false
}
func contactPicker(picker: CNContactPickerViewController, didSelectContactProperty contactProperty: CNContactProperty) {
print("selected contact property")
}
CNContactViewController
カスタムを表示して、ユーザーがプロパティを選択したときに通知を受け取るにはどうすればよいですか?
を使用contactViewController:shouldPerformDefaultActionForContactProperty
して選択したデータを記録することはできますが、その方法の悪用のようです。