ios - 我可以在 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 - 抱歉语法不好,我不擅长英语。
解决方案
一切都很好,您只需要在更新约束后添加 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)
}
}
}
}
推荐阅读
- c# - 如何在 MDX 中实现 IN 运算符
- python - 通过递归从一个节点到另一个节点的有向图路径
- python - 如果您递归地返回一个函数会发生什么,这是一种好的做法吗?
- node.js - 我的应用程序在本地运行,但在 Heroku 上我只是获得了 React 徽标
- reactjs - 在反应组件中显示两个不同数组的值
- wordpress - XAMPP wordpress LAN,重定向到本地主机
- amazon-web-services - Kinesis Firehose - 什么是 S3 扩展目标配置?
- c# - 可空一对一
- php - 从 PHP 到 MySQL bind_param() bool 错误
- python - Python 和 WebSockets - 如何在不阻塞的情况下从服务器发送到客户端?