Сначала убедитесь, что ваши ограничения в файле UICollectionViewCell.xib
установлены правильно.Я имею в виду, что при росте UILabel
в ячейке должна увеличиваться и сама ячейка.
Вы должны явно установить заголовок, прежде чем получите размер ячейки.Так вот ваш collectionView(collectionView:, layout:, sizeForItemAt:)
метод должен быть:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
if collectionView == filterCollectionView {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FilterSelectionCollectionViewCell", for: indexPath) as! FilterSelectionCollectionViewCell
cell.title.text = "Newest" //this is for the "Newest" cell. Of curse you should set the proper title for each indexPath
cell.setNeedsLayout()
cell.layoutIfNeede()
return CGSize(width: cell.contenView.frame.width , height: cell.contentView.frame.height)
} else {
return CGSize(width: 10, height: 10)
}
}