我有一个UICollectionView
,标题为UIView
。
我希望当用户向下滚动时,标题将被伸展,并具有弹性标题效果。
我试过这段代码:
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0 {
self.backgroundImageView?.frame.size.height += -scrollView.contentOffset.y
self.backgroundImageView?.frame.size.width += -scrollView.contentOffset.y
}
}
但它有两个问题:
当滚动开始时,图像不再位于中心(我保持0x 0y原点)
即使在触摸时(或向上滚动)并且没有恢复到原始尺寸,图像仍会保持尺寸。
任何人都可以帮我找到有用的代码吗?
答案 0 :(得分:1)
如果您使用变换来更改图像的比例,您可能会得到您要查找的结果。
尝试这样的东西,您可能想要将scaleFactor调整为比率而不是原始值,但它将取决于您的布局。
func scrollViewDidScroll(scrollView: UIScrollView) {
var scaleFactor:CGFloat = 0.0
if scrollView.contentOffset.y < 0 {
scaleFactor = -scrollView.contentOffset.y
} else {
scaleFactor = 1.0
}
self.backgroundImageView?.transform = CGAffineTransformMakeScale(scaleFactor, scaleFactor)
}