[英]How to animate a view from bottom to top for gallery in swift4
First time I am trying to do animation. 我第一次尝试做动画。 Here my task is collection of images should animate from bottom.
在这里,我的任务是图像的集合应该从底部动画。 I am trying to follow this link .
我正在尝试关注此链接 。 In this example, wow the images are animating from bottom to top, that's what how I want.
在这个例子中,哇图像是从下到上的动画,这就是我想要的。 What ever I have tried, it's given below.and I am getting an error like
我曾尝试过,下面给出了。我得到的错误就像
Cannot invoke 'visibleCells' with no arguments
不能在没有参数的情况下调用'visibleCells'
If anyone help's me to do this, would be great. 如果有人帮助我做这件事,那就太好了。 Thank you in advance
先感谢您
import UIKit
class GalleryViewController: UIViewController {
@IBOutlet weak var collectionview_gallery: UICollectionView!
var imgarr = [UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png"),UIImage(named: "1.png"),UIImage(named: "11.png"),UIImage(named: "111.png"),UIImage(named: "1111.png")]
override func viewDidLoad() {
super.viewDidLoad()
collectionview_gallery.delegate = self
collectionview_gallery.dataSource = self
collectionview_gallery.register(UINib(nibName: "GalleryCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "GalleryCollectionViewCell")
}
override func viewWillAppear(_ animated: Bool) {
animateTable()
}
func animateTable() {
collectionview_gallery.reloadData()
let cells = collectionview_gallery.visibleCells()
let tableHeight: CGFloat = collectionview_gallery.bounds.size.height
for i in cells {
let cell: UICollectionViewCell = i as UICollectionViewCell
cell.transform = CGAffineTransformMakeTranslation(0, tableHeight)
}
var index = 0
for a in cells {
let cell: UICollectionViewCell = a as UICollectionViewCell
UIView.animateWithDuration(1.5, delay: 0.05 * Double(index), usingSpringWithDamping: 0.8, initialSpringVelocity: 0, options: nil, animations: {
cell.transform = CGAffineTransformMakeTranslation(0, 0);
}, completion: nil)
index += 1
}
}
}
extension GalleryViewController: UICollectionViewDelegate,UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 50
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionview_gallery.dequeueReusableCell(withReuseIdentifier: "GalleryCollectionViewCell", for: indexPath) as! GalleryCollectionViewCell
cell.image_gallery.image = imgarr[indexPath.row]
return cell
}
}
here simple process how to image animation bottom to top. 这里简单的过程如何将动画从底部到顶部。 Here,gif image animation bottom to top.
在这里,gif图像动画自下而上。 you would be follow the process.
你会按照这个过程。
@IBOutlet weak var eblLogo: UIImageView!
@IBOutlet var nrbcGif: UIImageView?
var heightScrren : CGFloat = 0.0
override func viewDidLoad() {
super.viewDidLoad()
let logoHeight = eblLogo.frame.origin.y + eblLogo.frame.height + 10
heightScrren = logoHeight
nrbcGif?.loadGif(name: "spin")
}
override func viewDidAppear(_ animated: Bool) {
UIView.animate(withDuration: 2, delay: 1, options: [.curveEaseOut],
animations: {
self.nrbcGif?.center.y -= self.view.bounds.height - 500
self.view.layoutIfNeeded()
}, completion: nil)
}
} }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.