【问题标题】:Can i implement a stretchy image header in UIScrollView (Swift)?我可以在 UIScrollView (Swift) 中实现弹性图像标题吗?
【发布时间】:2020-04-16 14:50:23
【问题描述】:

我已经学会了如何在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 - 抱歉语法不好,我不擅长英语。

【问题讨论】:

  • 更改 imageViewContraint 高度 self.view.layoutIfNeeded() 后更新视图

标签: ios swift xcode uiscrollview


【解决方案1】:

一切都很好,您只需要在更新约束后添加 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)
                    }
                }
            }
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2013-02-01
    相关资源
    最近更新 更多