Home:ALL Converter>Make a UICollectionView in UITableViewCell programmatically in Swift

Make a UICollectionView in UITableViewCell programmatically in Swift

Ask Time:2017-08-30T14:16:31         Author:Mayank Pahuja

Json Formatter

I have a subclass of tableview cell which needs to have a UICollectionView inside it. I am now facing issues while trying to add a UICollectionView. It is letting me add a new UICollectionView but I am unable to set its constrains. Below is my code for doing the same:

// Add Collection
    let layout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)

    collectionProducts = UICollectionView(frame: CGRect.zero, collectionViewLayout: layout)

    contentView.addSubview(collectionProducts)

    let leadingColConstraint = NSLayoutConstraint(item: collectionProducts, attribute: NSLayoutAttribute.leadingMargin, relatedBy: NSLayoutRelation.equal, toItem: contentView, attribute: NSLayoutAttribute.leadingMargin, multiplier: 1, constant: 0)
    let trailingColConstraint = NSLayoutConstraint(item: collectionProducts, attribute: NSLayoutAttribute.trailingMargin, relatedBy: NSLayoutRelation.equal, toItem: contentView, attribute: NSLayoutAttribute.trailingMargin, multiplier: 1, constant: 0)
    let topColConstraint = NSLayoutConstraint(item: collectionProducts, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: lblHeader, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 62)
    let bottomColConstraint = NSLayoutConstraint(item: collectionProducts, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: contentView, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 55)

    contentView.addConstraints([leadingColConstraint,trailingColConstraint,topColConstraint,bottomColConstraint])
    collectionProducts.translatesAutoresizingMaskIntoConstraints = false

Am I missing anything? I am a relatively late mover to Swift and also relatively new to creating the cells programmatically. I can easily do the same using nib or storyboard, but I am stuck here. Kindly help be out.

Author:Mayank Pahuja,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/45953224/make-a-uicollectionview-in-uitableviewcell-programmatically-in-swift
yy