UICollectionView с другим размером ячейки
Моя цель - создать UICollectionView
с макетом, как показано ниже.
Это возможно без создания кастома UICollectionViewLayout
?
4 ответа
Используйте метод UICollectionViewDelegateFlowLayout.
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let width : CGFloat
let height : CGFloat
if indexPath.item == 0 {
width = 100
height = 100
} else {
width = 50
height = 50
}
return CGSizeMake(width, height)
}
Без создания пользовательского макета представления коллекции невозможно достичь того, чего вы хотите.
Вы можете создать собственный размер ячейки, используя метод делегата sizeforitematindexpath
,
Кроме того, проверьте эту ссылку, которая помогает создать собственный макет.
Ответ от @Dejan Atanasov, но для Swift 5
extension MainLobbyVC: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width : CGFloat
let height : CGFloat
if indexPath.item == 0 {
width = 100
height = 100
} else {
width = 50
height = 50
}
return CGSizeMake(width, height)
}
}
Много способов сделать это по ссылкам ниже.