我使用的是iOS 9和Swift 2.2
我已经实现了iOS内置的CNContactPickerViewController
,使用CNContactPickerDelegate
来获取联系人号码,
在CNContactPickerViewController
屏幕中,当我点击顶部的搜索字段并搜索一个名称时,我需要将该名称添加到我的选择中,但点击联系人后没有任何React。
我找遍了所有地方也没找到解决的办法
我是否需要在代码中添加任何内容,或者这是一个iOS 9错误
@IBAction func AddBtnKlkFnc(sender: AnyObject)
{
let contactPicker = CNContactPickerViewController()
contactPicker.delegate = self
contactPicker.displayedPropertyKeys =
[CNContactPhoneNumbersKey]
self.presentViewController(contactPicker, animated: true, completion: nil)
}
func contactPicker(picker: CNContactPickerViewController, didSelectContacts ContctAryVar: [CNContact])
{
for ContctVar in ContctAryVar
{
let ContctDtlVar = ContctDtlCls()
ContctDtlVar.ManNamVar = CNContactFormatter.stringFromContact(ContctVar, style: .FullName)!
for ContctNumVar: CNLabeledValue in ContctVar.phoneNumbers
{
var MobNumVar = ((ContctNumVar.value as! CNPhoneNumber).valueForKey("digits") as? String)!
if(MobNumVar.Len() > 10)
{
MobNumVar = MobNumVar.GetLstSubSrgFnc(10)
}
ContctDtlVar.MobNumVar = MobNumVar
ContctDtlAryVar.append(ContctDtlVar)
}
}
}
4条答案
按热度按时间bvjxkvbb1#
搜索结果似乎只能在单选模式下工作,因此请确保实现
仅,但不
如果同时实现这两种模式,则忽略仅使用一个
CNContact
作为参数的版本,而使用多选模式。5us2dqdw2#
vaqhlq813#
这是一个swift 4版本
t3psigkw4#
多重选择和搜索是互斥的。如果你想搜索工作,你必须只进行单一选择,并只实现单一选择委托方法。