Я работаю над приложением TVOS, я хочу исправить все ячейки на экране телевизора без прокрутки по вертикали или горизонтали. Здесь количество клеток будет считаться динамическим, это главная проблема. Я хочу установить все ячейки, как это
Например:
Если количество ячеек 4
Если количество ячеек 5
Если число ячеек 9
Если количество ячеек равно 11
Здесь необходимо динамически устанавливать высоту и ширину столбцов, строк и ячеек (прокрутка запрещена)
Мой код:
//Example array
var collectionViewArray:[UIColor] = [.brown, .red, .purple, .lightGray, .yellow, .black, .cyan, .magenta, .orange, .purple, .lightGray]
override func viewDidAppear(_ animated: Bool) {
myCollectionView.delegate = self
myCollectionView.dataSource = self
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return collectionViewArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! TVMenuCollectionViewCell
cell.cellView.backgroundColor = collectionViewArray[indexPath.row]
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let screenWidth = collectionView.bounds.width
let screenHeight = collectionView.bounds.height
return CGSize(width: (screenWidth-50)/4, height: (screenHeight-40)/3)
}
На самом деле, если ячеек больше, мне нужно N x (N-1) столбцов и строк.