Advertisement
Guest User

Untitled

a guest
Oct 19th, 2020
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 4.72 KB | None | 0 0
  1. import UIKit
  2.  
  3.  
  4. class ArticleDetailCollectionViewController: UICollectionViewController {
  5.    
  6.        
  7.     private let reuseIdentifier = "Cell"
  8.     private let headerIdentifier = "Header"
  9.     var articles:[Article]
  10.     var titleTxt = ""
  11.     var contentTxt = ""
  12.     var descriptionTxt = "bla"
  13.     var urlFromJSON = ""
  14.    
  15.   // private var detailCollectionView:UICollectionView?
  16.      
  17.    
  18.    /* private lazy var detailsCollectionView:UICollectionView = {
  19.         let detailsCollectionView = UICollectionView()
  20.         return detailsCollectionView
  21.     }()*/
  22.    
  23.     init(articles:[Article]) {
  24.         self.articles = articles
  25.         super.init(nibName: nil, bundle: nil)
  26.     }
  27.    
  28.     required init?(coder: NSCoder) {
  29.         fatalError("init(coder:) has not been implemented")
  30.     }
  31.    
  32.    
  33.     //MARK: - ViewController LifeCycle
  34.     override func viewDidLoad() {
  35.         super.viewDidLoad()
  36.         configureCollectionView()
  37.      
  38.         view.backgroundColor = .red
  39.    
  40.  
  41.     }
  42.    
  43.     func configureCollectionView() {
  44.         let layout = UICollectionViewFlowLayout()
  45.         layout.scrollDirection = .vertical
  46.         layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
  47.               layout.itemSize = CGSize(width: 111, height: 111)
  48.        // detailCollectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
  49.         collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
  50.         collectionView.delegate = self
  51.         collectionView.dataSource = self
  52.         collectionView.register(ArticleDetailCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
  53.         collectionView.register(ArticleDetailHeader.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: headerIdentifier)
  54.         collectionView.backgroundColor = .yellow
  55.      /*   guard let collectionView = detailCollectionView else {
  56.             return
  57.         }*/
  58.      //   view.addSubview(collectionView)
  59.     }
  60. }
  61.  
  62. //MARK: - Extensions
  63. extension ArticleDetailCollectionViewController {
  64.     // MARK: UICollectionViewDataSource
  65.     override func numberOfSections(in collectionView: UICollectionView) -> Int {
  66.         return 2
  67.     }
  68.  
  69.     override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
  70.         return 3
  71.     }
  72.  
  73.     override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
  74.         let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ArticleDetailCollectionViewCell
  75.         return cell
  76.     }
  77. }
  78.  
  79. extension ArticleDetailCollectionViewController {
  80.     override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
  81.         let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: headerIdentifier, for: indexPath) as! ArticleDetailHeader
  82.         return header
  83.     }
  84. }
  85.  
  86. extension ArticleDetailCollectionViewController: UICollectionViewDelegateFlowLayout {
  87.    
  88.     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
  89.         return CGSize(width: view.frame.width, height: 300)
  90.     }
  91.    
  92.     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath:IndexPath) -> CGSize {
  93.         return CGSize(width: view.frame.width, height: 120)
  94.        }
  95.    
  96.     override func viewDidLayoutSubviews() {
  97.         super.viewDidLayoutSubviews()
  98.     }
  99. }
  100. /*extension ArticleDetailCollectionViewController: UICollectionViewDelegateFlowLayout {
  101.     private func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
  102.            return CGSize(width: 50, height: 50)
  103.        }
  104.     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
  105.            return UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
  106.        }
  107.     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
  108.            return 5.0
  109.        }
  110.     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
  111.            return 5.0
  112.        }
  113. }*/
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement