如何在 Scroll 上增加 UICollectionView 的大小

How to increase size of UICollectionView on Scroll

我想在 Scroll 上增加 collectionView 的大小。这叫做视差影响。

我有 3 个 classes 命名为 1)class PhotoGalleryViewController' 与故事板。 PhotoGalleryViewController 包含 collectionView 和一个包含 imageview 的单元格。 2) class ListingDetailContentViewController' 没有故事板 3) class ListingDetailViewController' 带故事板。

ListingDetailViewControllerListingDetailContentViewController 附加为 child

contentViewController = ListingDetailContentViewController(hideComparable: comparableIsHidden)
        contentViewController.view.translatesAutoresizingMaskIntoConstraints = false
        contentViewController.listingDetailViewController = self
        addChild(contentViewController)
        view.addSubview(contentViewController.view)
        view.sendSubviewToBack(contentViewController.view)

ListingDetailContentViewController 正在使用库 AloeStackViewController 附加 photoGalleryViewControllerAloeStackViewControllerUIScrollView 所以这就是为什么我在 ListingDetailContentViewController

中做了它的代表
class ListingDetailContentViewController: AloeStackViewController, PhotoGalleryViewControllerDelegate, UIScrollViewDelegate {
// MARK: - Private functions

private func setupView(ad: Ad) {
    // Display photos
    if let photos = ad.photos {
        photoGalleryViewController = UIStoryboard(name: "Listing", bundle: nil).instantiateViewController(withIdentifier: "PhotoGalleryViewController") as? PhotoGalleryViewController
        let photoView = photoGalleryViewController.view!
        stackView.addRow(photoView)
        stackView.setInset(forRow: photoView, inset: .zero)
        photoGalleryViewController.photos = photos
        photoGalleryViewController.ad = ad
        photoGalleryViewController.delegate = self
        actualFrame = photoGalleryViewController.collectionView.frame.height
    }
// Some other stuff
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
// The link i applied here is 
        let offsetY = scrollView.contentOffset.y
        if offsetY < 0 {
            photoGalleryViewController.collectionView.frame.size.height +=  actualFrame - offsetY
            photoGalleryViewController.view.frame.size.height +=  actualFrame - offsetY
            self.loadViewIfNeeded()
        } else {
            photoGalleryViewController.collectionView.frame.size.height = actualFrame
            photoGalleryViewController.view.frame.size.height = actualFrame
            self.loadViewIfNeeded()
        }
    }
    }

我试过这个 但对我不起作用。 我的图像在屏幕顶部。和其他东西在下面。 每当用户向下滚动时。图像应该增加。 请帮我解决这个问题。

更新: 回答: 我是在名为 ParallaxHeader 的 library 的帮助下完成的。我只是使用 Pod 添加这个库并按照库中给出的教程进行操作。

经过一番努力,我实现了问题中提出的目标。 我是在名为 ParallaxHeaderlibrary 的帮助下完成的。 我只是使用 Pod 添加此 library 并按照库中给出的教程进行操作。