首页 > 解决方案 > 我可以在 UIScrollView (Swift) 中实现弹性图像标题吗?

问题描述

我已经学会了如何创建一个有弹性的标题,UICollectionView但在现实生活中我经常使用UIScrollView. 我尝试实现它,但它不起作用。

let originHeight = imageHeightConstraint.constant
extension ViewController: UIScrollViewDelegate {
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        let contentOffsetY = scrollView.contentOffset.y
        if contentOffsetY < 0 {
            self.imageHeightConstraint.constant = originHeight + abs(contentOffsetY)
        }
    }
}

在此处输入图像描述

Ps - 抱歉语法不好,我不擅长英语。

标签: iosswiftxcodeuiscrollview

解决方案


一切都很好,您只需要在更新约束后添加 layoutIfNeeded 即可。

 let originHeight = imageHeightConstraint.constant
        extension ViewController: UIScrollViewDelegate {
            func scrollViewDidScroll(_ scrollView: UIScrollView) {
                let contentOffsetY = scrollView.contentOffset.y
                if contentOffsetY < 0 {
                    UIView.animate(withDuration: 1.0) {
                        self.imageHeightConstraint.constant = originHeight + abs(contentOffsetY)
                    }
                }
            }
        }

推荐阅读