我正在实现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
没有得到尊重?