Как изменить размер UICollectionView 2x2 и уместить его на весь экран: Swift 3 Xcode 8

Привет, я создаю приложение, которое требует сетку изображений. В качестве примера я использую сетку изображений 2x2 в ячейках UICollectionView. Я хотел бы знать, как я мог бы уменьшить раздражающее пространство в середине, а также сделать так, чтобы они имели одинаковую ширину и высоту, чтобы соответствовать всему экрану. Я знаю, что я могу сделать это с помощью Interface Builder. Тем не менее, я хочу сделать это программно, потому что по мере развития приложения будут появляться разные уровни и разное количество квадратов - возможно, также 10х10. Я новичок в UICollectionViews. Я ссылался на многие другие вопросы, однако большинство из них в Задаче C, и немногие из них в Swift, похоже, не работают со Swift 3.

Вот мой полный код:

import UIKit

class GameViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout{

@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    collectionView.delegate = self
    collectionView.dataSource = self
let collectionViewLayout = self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout
    collectionViewLayout.minimumLineSpacing = 0
    collectionViewLayout.minimumInteritemSpacing = 0

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 2;
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 2
}

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


    let image = cell.viewWithTag(1) as! UIImageView
    image.image = #imageLiteral(resourceName: "coffee")

    return cell;
}


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

    return CGSize(width: self.collectionView.frame.size.width/2, height: self.collectionView.frame.size.height/2)
    //this method is not getting called 

}




}

Я также загружаю изображение того, как оно в настоящее время и как я хочу, чтобы

Я надеюсь, что вы, ребята, поможете мне - это будет очень полезно ... Спасибо!

Я соответствовал UICollectionViewDelegateFlowLayout и вызвал sizeforitematindexpath, но он не работал. Добавив точку останова, я понял, что метод не вызывается. Так что я не так делаю? Также Xcode дает мне это предупреждение -

Ответы на вопрос(4)

Ваш ответ на вопрос