Заполните UICollectionViewCell годами и месяцами - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужно заполнить ячейки UICollectionView списком лет от 2000 до 2050 .

Каждая ячейка должна содержать один месяц год до двенадцатого месяца и затем начните снова с нового года.

Пример 12 ячеек за 2000 год, еще 12 ячеек за 2001 год и т. д. c ...

enter image description here

Как лучше всего go с быстрым 5?

1 Ответ

2 голосов
/ 10 апреля 2020

Вы можете установить количество ячеек как (2050-2000) * 12

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return (2050-2000)*12
}

, затем определить переменную начального года и массив названий месяцев

var year:Int = 2000
let months:[String] = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]

Теперь вы можете добавлять данные в коллекцию. ячейка

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    //define cell

    cell.lblYear.text = "\(year+indexPath.row.quotientAndRemainder(dividingBy: 12).quotient)"
    cell.lblMonth.text = months[indexPath.row % 12]



    return cell
}
...