Как сделать вертикальный uiCollectionViewCell левой стороны, когда CollectionView имеет только один элемент - PullRequest
0 голосов
/ 27 апреля 2020

Как сделать вертикальную uiCollectionViewCell Левая сторона, когда CollectionView имеет только один элемент My collectionView looks like

I want to make my CollectionView like this. How can I do make like this

Ответы [ 2 ]

1 голос
/ 28 апреля 2020
 override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    collectionviw.delegate = self
    collectionviw.dataSource = self
    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsets(top: 20, left: 5, bottom: 10, right: 2)
    layout.minimumInteritemSpacing = 0
    layout.minimumLineSpacing = 0
    collectionviw!.collectionViewLayout = layout
    collectionviw.reloadData()
}

extension ViewController: UICollectionViewDelegate, 
 UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
{
func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 2
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection 
section: Int) -> Int {
    return 1
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt i 
 ndexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionviw.dequeueReusableCell(withReuseIdentifier: "cell", 
for: indexPath)

    return cell
}

func collectionView(_ collectionView: UICollectionView, layout 
  collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: 
 IndexPath) -> CGSize {
          let collectionWidth = collectionView.bounds.width / 2 - 50
          return CGSize(width: collectionWidth, height: collectionWidth)
      }
  }

выход

1 голос
/ 28 апреля 2020

Я думаю, что это ошибка в iOS, которая автоматически центрирует одну ячейку в CollectionView из-за UICollectionViewFlowLayoutAutomaticSize. Вы можете создать свою собственную UICollectionViewFlowLayout

Я следовал приведенному здесь подходу:

Остановить одну ячейку UICollectionView, текущую к центру экрана

...