CollectionView has header and custom layout. When I click on the cell, 2 methods are working. 1) didSelectItemAt 2) viewforsupplementaryelementofkind I click on the cell and scrollToItem to the beginning of the page. Can not detect the detailPhotoStory size in header dynamically.
var headerHeight: CGFloat = 0.0
var headerView: DetailCollectionReusableView?
//viewForSupplementaryElementOfKind
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String,at indexPath: IndexPath) ->UICollectionReusableView {
        if kind == UICollectionElementKindSectionHeader
        {
            headerView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader,
                                                                         withReuseIdentifier: "detailCollectionReusableView",
                                                                         for: indexPath) as? DetailCollectionReusableView
            headerView?.detailPhotoStory.text = PhotoItemArraySelected[indexPath.row].photoStory
            headerView?.setNeedsLayout()
            headerView?.layoutIfNeeded()
            headerHeight = 380
            headerHeight += (headerView?.detailPhotoStory.frame.height)!
            return headerView!
        }
        return UICollectionReusableView()
    }
//didSelectItemAt
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        headerView?.detailPhotoStory.text = PhotoItemArraySelected[0].photoStory
        headerView?.setNeedsLayout()
        headerView?.layoutIfNeeded()
        headerHeight = 380
        headerHeight += (headerView?.detailPhotoStory.frame.height)!
        collectionView.reloadData()
        collectionView.scrollToItem(at: IndexPath(row: 0, section: 0),
                                    at: .top,
                                    animated: true)
    }

 
    