我可以在UIScrollView(Swift)中实现可伸缩图像标题吗?

问题描述 投票:0回答:1

我已经学习了如何在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)
        }
    }
}

enter image description here

Ps-对不起,语法不好,我的英语不好。

ios swift xcode uiscrollview
1个回答
0
投票

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

let originHeight = imageHeightConstraint.constant
extension ViewController: UIScrollViewDelegate {
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        let contentOffsetY = scrollView.contentOffset.y
        if contentOffsetY < 0 {
            // adding a UIView.animate here would be much better.
            self.imageHeightConstraint.constant = originHeight + abs(contentOffsetY)
            self.view.layoutIfNeeded()
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.