我已将 ABPeoplePickerNavigationController 添加到我的第一个 View Controller 中。我希望从地址簿中选择多个联系人,然后检索他们的号码,但我的代码只选择一个人并获取其号码,然后选择器消失。
//instantiate the person picker
let personPicker: ABPeoplePickerNavigationController
required init(coder aDecoder: NSCoder) {
personPicker = ABPeoplePickerNavigationController()
super.init(coder: aDecoder)
personPicker.peoplePickerDelegate = self
}
@IBAction func getSinglePerson(sender: AnyObject) {
self.presentViewController(personPicker, animated: true, completion: nil)
}
//later, you have handle cancel button properly.
func peoplePickerNavigationControllerDidCancel(peoplePicker: ABPeoplePickerNavigationController!) {
}
func peoplePickerNavigationController(peoplePicker: ABPeoplePickerNavigationController!, didSelectPerson person: ABRecord!) {
if peoplePicker != personPicker{
return
}
let unmanagedPhones = ABRecordCopyValue(person, kABPersonPhoneProperty)
let phones: ABMultiValueRef = Unmanaged.fromOpaque(unmanagedPhones.toOpaque()).takeUnretainedValue() as NSObject as ABMultiValueRef
let countOfPhones = ABMultiValueGetCount(phones)
for index in 0..<countOfPhones{
let unmanagedPhone = ABMultiValueCopyValueAtIndex(phones, index)
let phone: String = Unmanaged.fromOpaque(unmanagedPhone.toOpaque()).takeUnretainedValue() as NSObject as String
println(phone)
}
}
感谢任何帮助。谢谢!
最佳答案
内置 Controller 不支持。试试这个:https://github.com/tristanhimmelman/THContactPicker
关于ios - 如何在 Swift 中使用 ABPeoplePickerNavigationController 选择多个联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29261736/