我已经学习了如何在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-对不起,语法不好,我的英语不好。
一切都很好,您只需要在更新约束后添加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()
}
}
}