如何在Xamarin.iOS的FSCalendar中添加事件
我使用FSCalendar进行申请。下面是FSCalendar演示 我试着从2天开始在SO和Google上搜索。但我找不到一种方法来在FSCalendar中添加事件 如果有人使用此功能并帮助我在FSCalendar中添加事件,我将不胜荣幸 任何帮助都将不胜感激 编辑: 看这张照片如何在Xamarin.iOS的FSCalendar中添加事件,xamarin,xamarin.ios,calendar,fscalendar,Xamarin,Xamarin.ios,Calendar,Fscalendar,我使用FSCalendar进行申请。下面是FSCalendar演示 我试着从2天开始在SO和Google上搜索。但我找不到一种方法来在FSCalendar中添加事件 如果有人使用此功能并帮助我在FSCalendar中添加事件,我将不胜荣幸 任何帮助都将不胜感激 编辑: 看这张照片 当我点击日期15时,日期15的事件显示在日历下方Hey Daily Event地点。我希望您现在能理解。FSCalendar中的事件是通过DataSource提供的,与其他基于数据源的控件(即UITableView
当我点击日期15时,日期15的事件显示在日历下方<代码>Hey Daily Event地点。我希望您现在能理解。
FSCalendar
中的事件是通过DataSource
提供的,与其他基于数据源的控件(即UITableView
)非常相似
此示例将FSCalendarDataSource
子类化,并添加了事件日期的硬编码列表(通常您会通过SQLite、Realm等设置/检索这些日期)
FSCalendar
中的事件通过DataSource
提供,与其他基于数据源的控件(即UITableView
)非常相似
此示例将FSCalendarDataSource
子类化,并添加了事件日期的硬编码列表(通常您会通过SQLite、Realm等设置/检索这些日期)
@SushilHangover感谢绑定工作正常,但我想按日历显示下面的事件,以便我可以看到我拥有此事件的特定日期。@Ironman在我的示例中,FSCalendarDataSource向日历添加了5个事件,它们将由日期下的一个点表示。日期精细下的一个点表示。但是,当我单击该点时,我想在我的tableview绑定下面显示事件。这样我就可以知道我参加这个活动的日期。看我的编辑。@Ironman这是一个不同的问题,然后你问,
FSCalendarDelegate
处理类似于DidSelectDate
@SushilHangover的函数,感谢绑定工作正常,但我想按日历显示下面的事件,以便我可以看到我有此事件的特定日期。@Ironman我的示例中的FSCalendarDataSource向日历添加了5个事件,他们将在当天的日期下用一个点表示。当天的日期下用一个点表示罚款。但是,当我单击该点时,我想在我的tableview绑定下面显示事件。这样我就可以知道我参加这个活动的日期。查看我的编辑。@Ironman这是一个与您所问的不同的问题,fscalendardegate
处理类似于DidSelectDate
public class CalendarDataSource : FSCalendarDataSource
{
NSCalendarUnit calenderUnits = NSCalendarUnit.Year | NSCalendarUnit.Month | NSCalendarUnit.Day;
NSCalendar calendar = new NSCalendar(NSCalendarType.Gregorian);
List<NSDate> events;
public CalendarDataSource()
{
events = new List<NSDate>();
events.Add(NSDate.Now);
events.Add(calendar.DateByAddingUnit(NSCalendarUnit.Day, 3, NSDate.Now, NSCalendarOptions.None));
events.Add(calendar.DateByAddingUnit(NSCalendarUnit.Day, 5, NSDate.Now, NSCalendarOptions.None));
events.Add(calendar.DateByAddingUnit(NSCalendarUnit.Day, 7, NSDate.Now, NSCalendarOptions.None));
events.Add(calendar.DateByAddingUnit(NSCalendarUnit.Day, 9, NSDate.Now, NSCalendarOptions.None));
}
bool SameDate(NSDate date1, NSDate date2)
{
return NSComparisonResult.Same == calendar.CompareDate(date1, date2, calenderUnits);
}
[Export("calendar:hasEventForDate:")]
public override bool HasEventForDate(FSCalendar calendar, NSDate date)
{
return events.Any((NSDate eventDate) => (SameDate(eventDate, date)));
}
public override nint NumberOfEventsForDate(FSCalendar calendar, NSDate date)
{
return events.Any((NSDate eventDate) => (SameDate(eventDate, date))) ? 1 : 0;
}
}
calender = new FSCalendar
{
Frame = View.Frame,
DataSource = new CalendarDataSource()
};