Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- class ArticleDetailCollectionViewController: UICollectionViewController {
- private let reuseIdentifier = "Cell"
- private let headerIdentifier = "Header"
- var articles:[Article]
- var titleTxt = ""
- var contentTxt = ""
- var descriptionTxt = "bla"
- var urlFromJSON = ""
- // private var detailCollectionView:UICollectionView?
- /* private lazy var detailsCollectionView:UICollectionView = {
- let detailsCollectionView = UICollectionView()
- return detailsCollectionView
- }()*/
- init(articles:[Article]) {
- self.articles = articles
- super.init(nibName: nil, bundle: nil)
- }
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
- //MARK: - ViewController LifeCycle
- override func viewDidLoad() {
- super.viewDidLoad()
- configureCollectionView()
- view.backgroundColor = .red
- }
- func configureCollectionView() {
- let layout = UICollectionViewFlowLayout()
- layout.scrollDirection = .vertical
- layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
- layout.itemSize = CGSize(width: 111, height: 111)
- // detailCollectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
- collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
- collectionView.delegate = self
- collectionView.dataSource = self
- collectionView.register(ArticleDetailCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
- collectionView.register(ArticleDetailHeader.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: headerIdentifier)
- collectionView.backgroundColor = .yellow
- /* guard let collectionView = detailCollectionView else {
- return
- }*/
- // view.addSubview(collectionView)
- }
- }
- //MARK: - Extensions
- extension ArticleDetailCollectionViewController {
- // MARK: UICollectionViewDataSource
- override func numberOfSections(in collectionView: UICollectionView) -> Int {
- return 2
- }
- override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
- return 3
- }
- override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
- let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ArticleDetailCollectionViewCell
- return cell
- }
- }
- extension ArticleDetailCollectionViewController {
- override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
- let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: headerIdentifier, for: indexPath) as! ArticleDetailHeader
- return header
- }
- }
- extension ArticleDetailCollectionViewController: UICollectionViewDelegateFlowLayout {
- func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
- return CGSize(width: view.frame.width, height: 300)
- }
- func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath:IndexPath) -> CGSize {
- return CGSize(width: view.frame.width, height: 120)
- }
- override func viewDidLayoutSubviews() {
- super.viewDidLayoutSubviews()
- }
- }
- /*extension ArticleDetailCollectionViewController: UICollectionViewDelegateFlowLayout {
- private func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
- return CGSize(width: 50, height: 50)
- }
- func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
- return UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
- }
- func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
- return 5.0
- }
- func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
- return 5.0
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement