Xamarin.Forms ios编辑日历事件

本文关键字:日历 事件 编辑 ios Forms Xamarin | 更新日期: 2023-09-27 18:19:31

我有一个关于iOS中日历的问题我可以使用以下代码在默认日历中创建一个事件:用户授予访问权限但未显示代码后的ofc不重要

EKEventStore eventStore = new EKEventStore();
var StartDate = GSDFuncties.ToDateString(day, month, year);
//Insert the data into the agenda.
EKEvent newEvent = EKEvent.FromStore(eventStore);
newEvent.StartDate = DateTimeToNSDate(new DateTime(year, month, day));
newEvent.EndDate = DateTimeToNSDate(new DateTime(year, month, day).AddDays(1D));
newEvent.Title = title;
newEvent.Notes = description;
newEvent.Calendar = eventStore.DefaultCalendarForNewEvents;
eventStore.SaveEvent(newEvent, EKSpan.ThisEvent, true, out e);

但是我怎么能编辑事件,因为它现在被复制了。

Xamarin.Forms ios编辑日历事件

如果您知道正确的EventID,您可以检索它,更新它的属性,然后再次保存:

// load an event by ID
EKEvent event = App.Current.EventStore.EventFromIdentifier (ID);

如果你不知道id,你可以写一个查询来找到它:

NSPredicate query = App.Current.EventStore.PredicateForEvents ( startDate, endDate, null );
// execute the query
EKCalendarItem[] events = App.Current.EventStore.EventsMatching ( query );

然后你需要查看匹配的事件,找到你想要的特定事件并更新它。

Xamarin的EventKit文档包含了更多使用日历的示例。