在日历的UICollectionView中开始有多少个单元格? (即无限日期)

时间:2015-10-18 12:54:53

标签: ios calendar uicollectionview uicollectionviewlayout

在日历的UICollectionView中开始有多少个单元格?那是我的理解是:

  1. UICollectionView很好,因为它只实例化它的单元格 需要显示,但
  2. 您仍然需要将单元格添加到集合视图
  3. 那么,如果您的视图仅显示10个单元格,但您拥有无限制的单元格(例如,在日历中向上和向下滚动日期),那么最佳做法是什么。您是否为100个日期输入100个单元格(比如感兴趣的起始日期的任何一侧50个),然后手动跟踪何时到达其中一个边缘然后添加更多?这有点像UICollectionView框架无法跟踪这个本身没有?

    所以总体问题因此(对不起)真的是:

    1. 您应该在集合视图中创建多少个单元格(日期)。因此应该限制为100
    2. 如果用户想要继续向前或向后滚动,那么UICollectionView中是否不支持为日历类型情况自动添加更多单元格
    3. 对UICollectionViewLayoutAttributes的缓存策略有什么影响吗?

2 个答案:

答案 0 :(得分:2)

Github上有一个基于UICollectionView的日历项目 https://www.cocoacontrols.com/controls/rsdayflow

我在生产项目中使用过这个组件。 你可以很容易地改变它的外观,因为每天都是一个uicollectionviewcell。

此项目基于https://github.com/evadne/DayFlow 这可以成为您创造所需内容的良好基础。

如果您想构建自己的日历,它可以帮助您找到对您问题的回答:代码很容易理解,而且我认为实现非常简洁

答案 1 :(得分:1)

这取决于在一个屏幕中可视化的程度。如果是一个月,我将有一个月前和一个月后。如果只是一天,一天前,一天后。然后使用这个无限滚动技巧。外面有很多例子。我没有通过以下链接阅读,但这些图片很好地形象化了这个想法:

Building a Infinitely-Scrolling Gallery With a UICollectionView