Swift:突出显示ABPersonViewController的项目

时间:2015-08-12 23:12:39

标签: ios swift addressbook abaddressbook

ABPersonViewControllerDelegate协议要求实施方法func personViewController(personViewController: ABPersonViewController!, shouldPerformDefaultActionForPerson person: ABRecord!, property: ABPropertyID, identifier: ABMultiValueIdentifier) -> Bool

只要用户选择ABPersonViewController中的任何联系信息,就会调用它,并且它包含描述联系人所需的所有信息:propertyidentifier参数。

ABPersonViewController类还包含func setHighlightedItemForProperty(_ property: ABPropertyID, withIdentifier identifier: ABMultiValueIdentifier),它突出显示其参数描述的联系信息。

简单地将这两个功能结合起来,我认为如果我想突出显示用户选择的任何信息,那就简单如下:

func personViewController(personViewController: ABPersonViewController!, 
shouldPerformDefaultActionForPerson person: ABRecord!, 
property: ABPropertyID, identifier: ABMultiValueIdentifier) -> Bool {

    personViewController.setHighlightedItemForProperty(property, withIdentifier: identifier)

}
然而,这似乎没有任何影响,并且除了短暂的突出之外没有可见的突出显示,当按下一个联系信息项时总是会发生(要清楚:我希望突出显示持续,至少直到用户再次按下该项目。)

编辑:如果这个(即临时突出显示)确实是预期的行为,我该如何实现或修改此功能,以便突出显示(直到它关闭)。鉴于ABPersonViewController不可归类(也许是我自己发明的一个词),这似乎特别困难。

0 个答案:

没有答案