如何在swift中获取api响应时重新加载CVCalendar

时间:2015-08-10 11:39:53

标签: ios swift calendar

我正在使用CVCalendar来显示包含活动的日历。但事件正在从其余的api调用加载。在收到回复后我无法更新日历中的事件。

3 个答案:

答案 0 :(得分:0)

我之前从未使用过该库,但在查看API时,有各种各样的"重新加载"不同类中的方法。如果您查看演示项目,CVCalendarMonthContentViewController视图控制器有一个方法reloadMonthViews。我建议你看一下,以及视图类中的重载方法。

答案 1 :(得分:0)

根据太多的搜索,我找到了这条神奇的代码,它对我有用 在CVCalendarView中使用函数下方,并将NSDate()作为参数传递

public func reloadMonthView(selectedDate: NSDate) {
            let newController: ContentController

            contentController.updateHeight(contentController.presentedMonthView.potentialSize.height, animated: true)
            newController = MonthContentViewController(calendarView: self, frame: bounds, presentedDate: selectedDate)

            newController.updateFrames(bounds)
            newController.scrollView.alpha = 0
            addSubview(newController.scrollView)

            UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
                self.contentController.scrollView.alpha = 0
                newController.scrollView.alpha = 1
                }) { _ in
                    self.contentController.scrollView.removeAllSubviews()
                    self.contentController.scrollView.removeFromSuperview()
                    self.contentController = newController
            }
    }

答案 2 :(得分:0)

您可以尝试以下方式

self.calendarView.contentController.refreshPresentedMonth()