predicateForSelectionOfProperty

predicateForSelectionOfProperty

我对此有一些麻烦。.我看到我们应该使用该属性:
predicateForSelectionOfProperty
来确定哪些属性被“选中”,而实际上我有点不知所措
predicateForEnablingProperty
因为在我的用例中,我只想要电话号码。

也就是说,我对predicateForSelectionOfProperty所使用的任何内容似乎都无法满足我的要求。我想要的是,当我选择一个联系人的电话号码时,它应该调用委托回调。.但是,现在,它正在 call 他们!

也许我只是完全想不到一些东西,因为我实际上只是想拥有一个带有电话号码的联系人列表,并且只显示电话号码。.也许我什至没有朝着正确的方向前进。

谢谢你尽你所能的帮助!

最佳答案

  • 如果您不希望它拨打电话,则应:
  • 指定peoplePickerDelegate;和
  • 实现peoplePickerNavigationController:didSelectPerson:property:identifier:
  • 不要指定predicateForSelectionOfProperty(或者,如果指定,请确保它返回true,例如NSPredicate(value: true))
  • 很明显,如果您甚至不希望它显示与联系人无关的信息,请指定displayedProperties数组,例如
    controller.displayedProperties = [NSNumber(int: kABPersonPhoneProperty)]
    
  • 或者,如果您想进一步自定义此UI,则可以只使用AddressBook.framework从通讯簿中提取电话号码并显示所需的任何UI。
  • 08-19 12:03