我在项目中使用了FSCalendar(https://github.com/WenchaoD/FSCalendar)。如果用户单击“重复”按钮,则事件每天都会重复。我想在我的应用程序中的日历上显示它。我该怎么做?
答案 0 :(得分:1)
如果您想选择日期,则以下方法会有所帮助, 日历是FSCalendar的出口。
calendar.select(calendar.today)
如果你想选择多个日期,那么最好的办法就是使用事件点,这可以通过下面FSCalendar数据源的委托方法实现,
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int
{
//number of dots you want to show
}
或者如果你真的想要显示所选的日期,你可以巧妙地使用以下方法并为你想要选择的日期返回不同的颜色,
public func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, fillDefaultColorFor date: Date) -> UIColor?
{
if your date
{
//return the colour for your dates
}
else
{
//return default colour
}
}
希望,这个答案可以帮到你。
答案 1 :(得分:0)
对于剩余应用,您需要执行或使用以下内容。
1.Realm或核心数据 - 用于数据持久性。
2.local notification - 通知用户发生了某些事件。 您需要使用具有一个 fireDate 属性的 UILocalNotification 。
答案 2 :(得分:0)
我不知道您是如何保留该信息的(预定日期),我可以告诉您的是,您可以轻松添加点(如果您和#39; d like,只需更改数字),使用以下代理:
`func calendar(calendar: FSCalendar, numberOfEventsForDate date: NSDate) -> Int {
let formatter = NSDateFormatter()
formatter.dateFormat = "MM-DD"
let date1 = formatter.stringFromDate(yourDate)
let date2 = formatter.stringFromDate(date)
return date1 == date2 ? 1 : 0
}`
此方法是FSCalendar委托之一,它迭代当前月份的所有日期(每个日期都在date
变量中表示)。在上面的示例中,我将比较任何给定日期是否等于 yourDate 变量,该变量必须是NSDate
,并通过{{1}将它们转换为字符串在月 - 日格式中,所以所有月份的比较都是相同的。如果为true,则返回1(这表示1个点,如果需要,可以将其更改为更多),否则在特定日期下方返回0个点。
此代码符合Swift 2.3标准。