我如何处理在 ABPeoplePickerNavigationController 中选择 属性?
How do I handle selecting a property in ABPeoplePickerNavigationController?
我遇到了一些麻烦..我看到我们应该使用 属性:
predicateForSelectionOfProperty
用于确定哪些属性获得 'selected',实际上我有点沮丧,因为没有
predicateForEnablingProperty
因为对于我的用例,我只需要 phone 个数字。
就是说,我对 predicateForSelectionOfProperty 使用的任何东西似乎都无法满足我的要求。我想要的是,当我 select 一个联系人的 phone 号码时,它应该调用委托回调..但是,现在,它正在调用他们!
也许我只是完全遗漏了一些东西,因为我实际上宁愿只拥有我的联系人列表,其中包含 phone 个号码,并且只显示 phone 个号码..也许我'我什至没有朝着正确的方向前进。
感谢您提供的任何帮助!
如果你不想让它拨打号码,你应该:
指定peoplePickerDelegate
;和
实施peoplePickerNavigationController:didSelectPerson:property:identifier:
不要指定 predicateForSelectionOfProperty
(或者如果指定,请确保它 returns true
,例如 NSPredicate(value: true)
)
显然,如果您甚至不希望它向您显示有关联系人的无关信息,请指定 displayedProperties
数组,例如
controller.displayedProperties = [NSNumber(int: kABPersonPhoneProperty)]
或者,如果您想进一步自定义此 UI,您可以使用 AddressBook.framework 从地址簿中提取 phone 号码并显示随心所欲UI。
我遇到了一些麻烦..我看到我们应该使用 属性:
predicateForSelectionOfProperty
用于确定哪些属性获得 'selected',实际上我有点沮丧,因为没有
predicateForEnablingProperty
因为对于我的用例,我只需要 phone 个数字。
就是说,我对 predicateForSelectionOfProperty 使用的任何东西似乎都无法满足我的要求。我想要的是,当我 select 一个联系人的 phone 号码时,它应该调用委托回调..但是,现在,它正在调用他们!
也许我只是完全遗漏了一些东西,因为我实际上宁愿只拥有我的联系人列表,其中包含 phone 个号码,并且只显示 phone 个号码..也许我'我什至没有朝着正确的方向前进。
感谢您提供的任何帮助!
如果你不想让它拨打号码,你应该:
指定
peoplePickerDelegate
;和实施
peoplePickerNavigationController:didSelectPerson:property:identifier:
不要指定
predicateForSelectionOfProperty
(或者如果指定,请确保它 returnstrue
,例如NSPredicate(value: true)
)
显然,如果您甚至不希望它向您显示有关联系人的无关信息,请指定
displayedProperties
数组,例如controller.displayedProperties = [NSNumber(int: kABPersonPhoneProperty)]
或者,如果您想进一步自定义此 UI,您可以使用 AddressBook.framework 从地址簿中提取 phone 号码并显示随心所欲UI。