gpt4 book ai didi

xamarin - 使用 Xamarin iOS 在 CNContact 类中设置周年生日

转载 作者:行者123 更新时间:2023-12-02 15:54:54 26 4
gpt4 key购买 nike

如何使用 Xamarin iOS 设置新联系人的生日?

iOS Documentation声明您可以将 NSDateComponent.year 字段留空,以表示无年份的生日。

在 Xamarin iOS 中尝试此操作后,新联系人 UI 上的生日字段出现错误,使其无法使用。

var store = new CNContactStore();
var contact = new CNMutableContact();

// construct birthday w/o year
var birthDate = new NSDateComponents();
birthDate.Month = 11;
birthDate.Day = 12;
contact.Birthday = birthDate;

// pop iOS Contact UI
var editor = CNContactViewController.FromNewContact (contact);
editor.ContactStore = store;
editor.AllowsActions = false;
editor.AllowsEditing = true;
navcontroller.PushViewController(editor,true);

最佳答案

您需要先保存联系人,然后 iOS 联系人编辑器才能正确处理无年份的日期。

var store = new CNContactStore();
var contact = new CNMutableContact()
{
GivenName = "Stack",
FamilyName = "Overflow"
};
var birthDate = new NSDateComponents();
contact.Birthday = new NSDateComponents()
{
Month = 11,
Day = 12,
};
######
var saveRequest = new CNSaveRequest();
saveRequest.AddContact(contact, null);
NSError error;
store.ExecuteSaveRequest(saveRequest, out error);
######
var editor = CNContactViewController.FromNewContact(contact);
editor.ContactStore = store;
editor.AllowsActions = false;
editor.AllowsEditing = true;
PresentViewControllerAsync(editor, true);

enter image description here

关于xamarin - 使用 Xamarin iOS 在 CNContact 类中设置周年生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com