如何使用联系人 UI 为 swift 中的现有联系人打开编辑联系人 UI
How to open Edit Contact UI for existing contact in swift using Contact UI
我正在开发 iOS 应用程序,我想在其中使用联系人 UI 在电话簿中添加新联系人。我知道如何为新联系人打开联系人 UI,但我在打开联系人 UI 中的现有联系人进行编辑时遇到困难。
我正在打开新联系人 UI 作为
let contact = CNMutableContact()
let localizedLabelString = CNLabeledValue<NSString>.localizedString(forLabel: CNLabelPhoneNumberMobile)
let phoneNumber = CNPhoneNumber(stringValue: contacTNumber )
let labeledPhoneNumber = CNLabeledValue(label: localizedLabelString, value: phoneNumber)
contact.phoneNumbers.append(labeledPhoneNumber)
let controller = CNContactViewController(forNewContact: contact)
controller.delegate = self
controller.displayedPropertyKeys = [CNContactPhoneNumbersKey, CNContactGivenNameKey]
let nav = UINavigationController(rootViewController: controller)
self.present(nav, animated: true, completion: nil)
下面是我要打开的编辑联系人UI。
根据联系人是新联系人、现有联系人还是未知联系人,视图控制器有不同的构造函数。
init(for: CNContact)
Initializes a view controller for an existing contact.
init(forUnknownContact: CNContact)
Initializes a view controller for an unknown contact.
init(forNewContact: CNContact?)
Initializes a view controller for a new contact.
您的代码正在使用 init(forNewContact:)。尝试使用 init(for:)
我正在开发 iOS 应用程序,我想在其中使用联系人 UI 在电话簿中添加新联系人。我知道如何为新联系人打开联系人 UI,但我在打开联系人 UI 中的现有联系人进行编辑时遇到困难。
我正在打开新联系人 UI 作为
let contact = CNMutableContact()
let localizedLabelString = CNLabeledValue<NSString>.localizedString(forLabel: CNLabelPhoneNumberMobile)
let phoneNumber = CNPhoneNumber(stringValue: contacTNumber )
let labeledPhoneNumber = CNLabeledValue(label: localizedLabelString, value: phoneNumber)
contact.phoneNumbers.append(labeledPhoneNumber)
let controller = CNContactViewController(forNewContact: contact)
controller.delegate = self
controller.displayedPropertyKeys = [CNContactPhoneNumbersKey, CNContactGivenNameKey]
let nav = UINavigationController(rootViewController: controller)
self.present(nav, animated: true, completion: nil)
下面是我要打开的编辑联系人UI。
根据联系人是新联系人、现有联系人还是未知联系人,视图控制器有不同的构造函数。
init(for: CNContact)
Initializes a view controller for an existing contact.
init(forUnknownContact: CNContact)
Initializes a view controller for an unknown contact.
init(forNewContact: CNContact?)
Initializes a view controller for a new contact.
您的代码正在使用 init(forNewContact:)。尝试使用 init(for:)