UICollectionViewController Error in Swift 3.0: must be initialized with a non-nil layout parameter

后端 未结 5 842
清酒与你
清酒与你 2021-01-14 08:03

I\'m new to iOS development. I\'ve been learning Swift, and today, I tried using UICollectionViewController.

My code is as follows:

 class ViewContro         


        
5条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-14 08:26

    Thank you! I incorporated your suggestions. Below is the code that works:

    class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
        let cellId = "CellId"
        var colView: UICollectionView!
        
        override func viewDidLoad() {
            super.viewDidLoad()
            
            let layout = UICollectionViewFlowLayout()
            layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
            layout.itemSize = CGSize(width: 111, height: 111)
            
            colView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
            colView.delegate   = self
            colView.dataSource = self
            colView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
            colView.backgroundColor = UIColor.white
            
            self.view.addSubview(colView)
        }
    
        func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
            return 21
        }
        
        func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
            let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath as IndexPath)
            cell.backgroundColor = UIColor.orange
            return cell
        }
    }
    
    

    Again, thank you guys very much. Have an awesome day :D

提交回复
热议问题