Ios Swift:编辑ABPersonViewController

Ios Swift:编辑ABPersonViewController,ios,swift,contacts,abpeoplepickerview,Ios,Swift,Contacts,Abpeoplepickerview,我正在尝试设置我的应用程序,以便在从ABPeoplePickerNavigationController打开特定联系人时,在ABPersonViewController中,右上角有一个编辑按钮 我知道以前这里也有人问过类似的问题,但我都看过了。部分原因可能是因为它们是针对较旧版本的iOS,或者是因为大多数都使用Objective-C,或者是由于我自己的无知,我一直无法解决这个问题 这是我的密码: func peoplePickerNavigationController(peoplePicker

我正在尝试设置我的应用程序,以便在从
ABPeoplePickerNavigationController
打开特定联系人时,在
ABPersonViewController
中,右上角有一个编辑按钮

我知道以前这里也有人问过类似的问题,但我都看过了。部分原因可能是因为它们是针对较旧版本的iOS,或者是因为大多数都使用Objective-C,或者是由于我自己的无知,我一直无法解决这个问题

这是我的密码:

func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, shouldContinueAfterSelectingPerson person: ABRecord!) -> Bool {

    /*let controller = ABPersonViewController()
    controller.displayedPerson = person
    controller.allowsEditing = true
    controller.editing = true
    controller.personViewDelegate = self
    peoplePicker.pushViewController(controller, animated: true)*/

    let picker = ABNewPersonViewController()
    picker.newPersonViewDelegate = self
    picker.displayedPerson = person
    picker.navigationItem.title = "edit contact"
    self.navigationController?.pushViewController(picker, animated: true)

    return false
}
注释代码是我在看到这个问题之前的代码:

同样,我要做的就是在顶部添加编辑按钮,这样用户就可以选择编辑联系人,但是
ABPersonViewController
应该而不是在编辑模式下打开

任何帮助都是感激的,如果这是乏味的,我很抱歉

这应该有效:

// iOS 8 and later
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, didSelectPerson person: ABRecord!) {
    self.pushViewControllerWithPerson(person)
}

// Prior iOS 8
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, shouldContinueAfterSelectingPerson person: ABRecord!) -> Bool {
    self.pushViewControllerWithPerson(person)
    return false
}

func pushViewControllerWithPerson(person: ABRecord) {
    let controller = ABPersonViewController()
    controller.displayedPerson = person
    controller.allowsEditing = true
    controller.personViewDelegate = self
    self.navigationController?.pushViewController(controller, animated: true)
}
注意:
peoplePickerNavigationController(peoplePicker:shoulldcontinueafterselectioningperson:)
在iOS 8中被弃用。因此,自此iOS版本以来,未调用此方法。

peoplePickerNavigationController(peoplePicker:didSelectPerson:)
应改为使用。

。谢谢24小时期限一过我就给你赏金。还有,有没有办法(除了使用
ABNewPersonViewController
)修改此选项,使
ABPersonViewController
在编辑模式下打开?@5813,是的,有可能,检查此答案:-是的,这是使用
ABNewPersonViewController
的答案-我试图避免的事情,但我会调查一下,看看能不能找到另一个解决办法。