1

我在我的项目中使用了 FSCalendar(https://github.com/WenchaoD/FSCalendar )。如果用户单击重复按钮,则事件每天都会重复。我想在我的应用程序中的日历上显示它。我该怎么做?

4

3 回答 3

4

如果你想选择日期,那么下面的方法会很有帮助,其中日历是 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
    }
}

希望,这个答案可以帮助你。

于 2017-07-17T06:06:26.660 回答
0

我不知道您如何保留该信息(预定日期),我可以告诉您的是,您可以使用以下代表轻松添加一个(或者更多,如果您愿意,只需更改数字):

`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变量,该变量也必须是 a NSDate,通过月日NSDateFormatter格式将它们都转换为字符串,以便所有月份的比较都相等。如果为真,则返回 1(这表示 1 个点,您可以根据需要更改更多),否则返回特定日期以下的 0 个点。

此代码符合 Swift 2.3。

于 2017-07-15T03:12:27.197 回答
0

对于剩余应用程序,您需要执行或使用以下操作。

1.Realm 或 Core Data - 用于数据持久性。

2.local notification - 通知用户发生了一些事件。您需要使用具有一个属性fireDate属性的UILocalNotification

于 2017-01-23T10:48:09.633 回答