gpt4 book ai didi

ios - 使 UIScrollView 中的顶部图像在 ScrollView 边界上放大?

转载 作者:行者123 更新时间:2023-11-28 09:06:54 25 4
gpt4 key购买 nike

我有一个 UIScroll View ,里面有一个 UIView 作为内容 View 。布局是:

self.scrollView = UIScrollView()
self.view.addSubview(self.scrollView)
self.scrollView.backgroundColor = UIColor.yellowColor()

// pin all edges to the edges of the superview (self.view)
self.scrollView.snp_makeConstraints { (make) -> Void in
make.edges.equalTo(self.view)
}

// create contentView
self.contentView = UIView()
self.contentView.backgroundColor = UIColor.redColor()
self.scrollView.addSubview(self.contentView)

// pin the edges of the contentView to the scrollView
self.contentView.snp_makeConstraints { (make) -> Void in
make.edges.equalTo(self.scrollView)
}

在我的 contentView 中,顶部有一个 UIImageView,下面有一些 UILabel:

let imageView = UIImageView(...)
let labe1 = UILabel(...)
let labe2 = UILabel(...)
self.contentView.addSubView(imageView)
self.contentView.addSubView(labe1)
self.contentView.addSubView(labe2)

这是它的样子:

enter image description here

当我下拉 ScrollView 时, ScrollView 在顶部弹跳。我希望图像在 ScrollView 弹跳时放大。

我用 UIScrollViewDelegate 做了这个:

   func scrollViewDidScroll(scrollView: UIScrollView) {
let offsetY: CGFloat = scrollView.contentOffset.y
if offsetY < -64 {
let progress:CGFloat = fabs(offsetY + 64) / 100
self.imageView.transform = CGAffineTransformMakeScale(1 + progress, 1 + progress)
}
}

这是有效的,但问题是当图像被转换时,它不应该覆盖包含标签的红色区域的边界。这是我反弹时发生的情况:

enter image description here

我希望图像仍然放大但不与红色区域的边界重叠。我该怎么做?

最佳答案

我建议您使用分页 View 调整整个 UIScrollView 的大小 - 不要忘记重置其框架以防止分页错误。

关于ios - 使 UIScrollView 中的顶部图像在 ScrollView 边界上放大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560720/

25 4 0
文章推荐: css - IE 中非链接元素的悬停问题
文章推荐: css - 如何在 Firefox < 3.6 中使用 CSS 创建渐变背景?
文章推荐: jquery - 如果使用 jquery 的任何 ="0"都不可用,如何添加 cellspacing ``?