Swift and swiftcode
Swift-use UIScrollView to achieve parallax Animation
Effect
Source code
Https://github.com/YouXianMing/Swift-Animations
/// MoreInfoView. swift // Swift-Animations // Created by YouXianMing on 16/8/18. // Copyright©2016 YouXianMing. All rights reserved. // import UIKitclass MoreInfoView: UIView {var imageView: UIImageView! Override init (frame: CGRect) {super. init (frame: frame) layer. borderWidth = 0.5 layer. borderColor = UIColor. blackColor (). CGColor layer. masksToBounds = true/** -------------- **-50-> |-view-width-| <-50-** -------------- **/let rect = frame imageView = UIImageView (frame: CGRectMake (-50, 0, rect. size. width + 50*2, rect. size. height) imageView. contentMode =. scaleAspectFill self. addSubview (ima GeView)} required init? (Coder aDecoder: NSCoder) {fatalError ("init (coder :) has not been implemented ")}}
/// ScrollImageViewController. swift // Swift-Animations /// Created by YouXianMing on 16/8/18. // Copyright©2016 YouXianMing. All rights reserved. // import UIKitclass ScrollImageViewController: fulltitlevisual=tviewcontroller, UIScrollViewDelegate {let viewTag: Int! = 1000 var onceLinearEquation: Math! Var pictures: [UIImage]! Var scrollView: UIScrollView! Override func setup () {super. setup () onceLinearEquation = Math (pointA: CGPointMake (0,-50), pointB: CGPointMake (contentView !. Width, 270-80) pictures = [UIImage] () pictures. append (UIImage (named: "1 ")!) Pictures. append (UIImage (named: "2 ")!) Pictures. append (UIImage (named: "3 ")!) Pictures. append (UIImage (named: "4 ")!) Pictures. append (UIImage (named: "5 ")!) ScrollView = UIScrollView (frame: (contentView ?. Bounds )!) ScrollView. delegate = self scrollView. pagingEnabled = true scrollView. backgroundColor = UIColor. blackColor () scrollView. showsHorizontalScrollIndicator = false scrollView. bounces = false scrollView. contentSize = CGSizeMake (CGFloat (pictures. count) * width, height) contentView ?. AddSubview (scrollView) for I in 0 .. <pictures. count {let showView = MoreInfoView (frame: CGRectMake (CGFloat (I) * width, 0, width, height) showView. imageView. image = pictures [I] showView. tag = viewTag + I scrollView. addSubview (showView)} func scrollViewDidScroll (scrollView: UIScrollView) {let X = scrollView. contentOffset. x for I in 0 .. <pictures. count {let showView = scrollView. viewWithTag (v IewTag + I)! MoreInfoView showView. imageView. x = onceLinearEquation. k * (X-CGFloat (I) * width) + onceLinearEquation. B }}}