Dinamik UICollectionViewCell genişlik ve en boy oranı
bir takip soru bu çözüm büyük olsa da, I (kCellsPerRow) et hücre dinamik miktarda üretmek için istiyorum olan
UIViewController'ın içinde çerçeveye Cihazın genişliğini, en boy oranını ve göstermem gereken toplam öğelerin miktarını temel alır. Sadece bir en boy oranı sınırına ulaştığında çok yeniden boyutlandırılmamaları için doğru miktarda kCellsPerRow değerini nasıl hesaplayacağımı anlayamıyorum.
İşte ben bugüne kadar ne var:
var kCellsPerRow = ceil(global.TotalAmount) //Total Amount of Cells
var windowWidth = layout.collectionView!.frame.width // Device's Window Width
var dynamicWidth = windowWidth/CGFloat(kCellsPerRow) // Current Width of Each Cell
var dynamicHeight = windowWidth/CGFloat(kCellsPerRow) // Current Height of Each Cell
var limit = (Double(dynamicWidth)/Double(windowWidth))*(9/2) < (2/9) // Constraint/Threshold
if (limit) {
var newkCellsPerRow = CGFloat(kCellsPerRow * (2/9)) // Attempt
newkCellsPerRow = 9 // Fixed Size of 9 but what if we can dynamically figure out the perfect number such that its not so tiny!
dynamicWidth = layout.collectionView!.frame.width/newkCellsPerRow
dynamicHeight = layout.collectionView!.frame.width/newkCellsPerRow
}
// Create Cell
layout.itemSize = CGSize(width: dynamicWidth, height: dynamicHeight)