Ios Swift:突出显示ABPersonViewController的项目

Ios Swift:突出显示ABPersonViewController的项目,ios,swift,addressbook,abaddressbook,Ios,Swift,Addressbook,Abaddressbook,ABPersonViewControllerDelegate协议要求实现方法func personViewController(personViewController:ABPersonViewController!,shouldperformancedefaultactionforperson-person-person:ABRecord!,property:ABPropertyID,identifier:ABMultiValueIdentifier)->Bool 每当用户在ABPersonV

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

每当用户在
ABPersonViewController
中选择任何一条联系人信息时,就会调用它,它保存描述联系人所需的所有信息:属性
和标识符
参数

ABPersonViewController
类还包含
func setHighlightedItemForProperty(\uProperty:ABPropertyID,带标识符:ABMultiValueIdentifier)
,它突出显示了由其参数描述的联系人信息

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

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

    personViewController.setHighlightedItemForProperty(property, withIdentifier: identifier)

}
然而,这似乎是零方位的,除了短暂的突出显示外,没有任何可见的突出显示。当按下联系人信息项时,通常会出现短暂的突出显示(要清楚:我希望突出显示能够持续,至少在用户再次按下该项之前)


编辑:如果这(即临时突出显示)确实是预期行为,我如何实现或修改此功能以使突出显示持续(直到关闭)。考虑到
ABPersonViewController
是不可分类的(这个词可能是我自己发明的),这似乎特别困难

是的,我同意,这是合理的期望,但我看到了你描述的相同行为。它似乎只会在首次展示时影响项目的突出显示。@Rob感谢您的建议。如果这是设计好的行为,那么,关于如何实现它或修改它以获得持久的亮点,有什么想法吗?没有,恐怕没有。我尝试了标准的技巧(
setNeedsDisplay
什么也没做,
重新加载数据
崩溃),但没有成功。很抱歉我只是确认了您与我们共享的行为。顺便说一句,我检查了iOS9 ContactsUI框架,但是从iOS9 beta 5开始,这个功能就完全被破坏了,所以很难说。但是API与AddressBookUI非常相似,我敢打赌这个用户体验没有改变。遗憾的是,对于这样的问题,标准答案是,如果你需要这种定制,你可能需要为此实现自己的UI。谢谢@Rob。看来我得这么做了。很遗憾,正如有人可能会说的,它是不可分类的。是的,我同意,这是合理的期望,但我看到了你描述的相同行为。它似乎只会在首次展示时影响项目的突出显示。@Rob感谢您的建议。如果这是设计好的行为,那么,关于如何实现它或修改它以获得持久的亮点,有什么想法吗?没有,恐怕没有。我尝试了标准的技巧(
setNeedsDisplay
什么也没做,
重新加载数据
崩溃),但没有成功。很抱歉我只是确认了您与我们共享的行为。顺便说一句,我检查了iOS9 ContactsUI框架,但是从iOS9 beta 5开始,这个功能就完全被破坏了,所以很难说。但是API与AddressBookUI非常相似,我敢打赌这个用户体验没有改变。遗憾的是,对于这样的问题,标准答案是,如果你需要这种定制,你可能需要为此实现自己的UI。谢谢@Rob。看来我得这么做了。很遗憾,正如有人可能说的那样,它是不可分类的。