[英]iOS How to create parallax effect in scroll view for image Swift
How can I create a parallax effect for my image ?如何为我的图像创建视差效果?
I use scroll view.我使用滚动视图。 I found tutorial only for table view.
我发现教程仅适用于表格视图。 Is it possible to create such an effect for the image?
是否可以为图像创建这样的效果?
UPDATE code :更新代码:
@IBOutlet weak var topConstrain: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y < 0 {
topConstrain.constant = scrollView.contentOffset.y
}
else {
topConstrain.constant = 0
}
}
But this isn't working.但这不起作用。
If you want to scroll image with some foregroundScroll ,you have to take two scrollview's 1)ImageScrollview 2)Foregroundscrollview ,add imageview to backgroundscrollview and call scrollViewDidScroll delegate.如果你想用一些 foregroundScroll 滚动图像,你必须采取两个滚动视图的 1)ImageScrollview 2)Foregroundscrollview ,将 imageview 添加到 backgroundscrollview 并调用 scrollViewDidScroll 委托。
class ParallarXController: UIViewController,UIScrollViewDelegate {
@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var foregroundScrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
let rearImg = UIImageView.init(image: UIImage(named: "readArticalBGimage"))
rearImg.frame = CGRect(x: 0, y: 0, width: (self.imageScrollView.frame.width), height: self.view.bounds.height+110)
imageScrollView.contentSize = CGSize.init(width: self.view.bounds.width, height: self.view.bounds.height+100)
rearImg.contentMode = .scaleAspectFill
imageScrollView.addSubview(rearImg)
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let foregroundScrollviewHeight = foregroundScrollView.contentSize.height - foregroundScrollView.bounds.height
let percentageScroll = foregroundScrollView.contentOffset.y / foregroundScrollviewHeight
let backgroundScrollViewHeight = imageScrollView.contentSize.height - imageScrollView.bounds.height
imageScrollView.contentOffset = CGPoint(x: 0, y: backgroundScrollViewHeight * percentageScroll)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.