首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:编辑ABPersonViewController

Swift:编辑ABPersonViewController
EN

Stack Overflow用户
提问于 2015-08-02 19:28:09
回答 1查看 682关注 0票数 2

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

我知道以前有人问过类似的问题,但我看过每个问题。也许部分原因是因为它们是针对较早版本的iOS的,或者是因为大多数是在Objective中,或者是由于我自己的无知,我一直无法解决这个问题。

这是我的密码:

代码语言:javascript
复制
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
}

注释代码是我在看到这个问题之前所拥有的:iOS7 - ABPersonViewController, editing mode

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 23:09:07

这应该是可行的:

代码语言:javascript
复制
// 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:shouldContinueAfterSelectingPerson:)在iOS 8中是不推荐的,因此这个方法不会被调用,因为这个iOS版本。

应该使用peoplePickerNavigationController(peoplePicker:didSelectPerson:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31775748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档