PredicateForSelectionOfContact未受到尊重

时间:2016-07-27 18:18:22

标签: xamarin.ios contacts contacts-framework

我正在实现ContactsUI Framework,并且遇到PredicateForSelectionOfContact问题。我正在尝试使用,以便在选择具有多个电子邮件地址的联系人时显示详细信息。这是我正在使用的代码:

var picker = new CNContactPickerViewController();
picker.DisplayedPropertyKeys = new NSString[] {CNContactKey.EmailAddresses};
picker.PredicateForEnablingContact = NSPredicate.FromFormat("emailAddresses.@count > 0");
picker.PredicateForSelectionOfContact = NSPredicate.FromFormat("emailAddresses.@count == 1");
picker.ModalPresentationStyle = UIModalPresentationStyle.FormSheet;
picker.ModalTransitionStyle = UIModalTransitionStyle.CoverVertical;
picker.Delegate = new ContactPickerDelegate(ViewModel);
PresentViewController(picker, true, () => {});

但是,当我选择包含2个电子邮件地址的联系人时,系统会调用ContactPickerDelegate.DidSelectContact()而不是显示详细信息。它确实显示了3个电子邮件地址的联系人详细信息我无法向联系人添加第4个电子邮件地址以进行进一步测试。为什么emailAddresses.@count == 1没有得到尊重?

0 个答案:

没有答案