3

Мне нужно сделать один вид коллекции так, чтобы независимо от размера iphone у нас было всего 2 изображения в каждой строке, а также нам нужна граница между каждой строкой и столбцом, как показано на изображении.Enforce collectionView иметь только 2 строки

Я хочу так:

enter image description here

+0

Вы можете использовать '[myUICollectionViewFlowLayout setItemSize: CGSizeMake ([самостоятельно кадр] .size.width/2, [самостоятельного кадра] .size.width/2)]; [коллекция коллекций myCollectionViewCollectionViewLayout: myUICollectionViewFlowLayout]; ' – Larme

+0

вы можете опубликовать код того, что вы пробовали? – random

ответ

1

Реализовать следующие функции из протокола CollectionView в:

// cell size 

func collectionView(collectionView: UICollectionView, 
     layout collectionViewLayout: UICollectionViewLayout, 
     sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    return CGSize(width: view.frame.size.width/2, height: view.frame.size.width/2) 
} 

... где точка зрения (супер) вид вашего контроллера

// inter-spacing 

func collectionView(collectionView: UICollectionView, 
     layout collectionViewLayout: UICollectionViewLayout, 
     minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat { 
    return 2.0 
} 

func collectionView(collectionView: UICollectionView, layout 
     collectionViewLayout: UICollectionViewLayout, 
     minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat { 
    return 2.0 
} 
3

Пробуйте этот код: Просто другой подход.

 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize { 

    let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout 
    layout.sectionInset = UIEdgeInsets(top: 6, left: 4, bottom: 6, right: 4) 
    layout.minimumInteritemSpacing = 04 
    layout.minimumLineSpacing = 04 
    layout.invalidateLayout() 
    return CGSize(width: ((self.view.frame.width/2) - 6), height((self.view.frame.width/2) - 6)) 
    } 

Вывод из вышеуказанного кода на разных устройствах.

enter image description here