Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
46
iphone/Maps/Classes/Pages/ImageViewCrossDisolve.swift
Normal file
46
iphone/Maps/Classes/Pages/ImageViewCrossDisolve.swift
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
class ImageViewCrossDisolve: UIView {
|
||||
private var imageViews: [UIImageView] = []
|
||||
var images: [UIImage?] = [] {
|
||||
didSet{
|
||||
imageViews.forEach { (imageView) in
|
||||
imageView.removeFromSuperview();
|
||||
}
|
||||
for image in images{
|
||||
let imageView = UIImageView(image: image);
|
||||
self.addSubview(imageView)
|
||||
imageView.alpha = 0
|
||||
imageView.contentMode = .scaleAspectFill
|
||||
imageView.translatesAutoresizingMaskIntoConstraints = false;
|
||||
imageView.leadingAnchor.constraint(equalTo: self.leadingAnchor).isActive = true
|
||||
imageView.trailingAnchor.constraint(equalTo: self.trailingAnchor).isActive = true
|
||||
imageView.topAnchor.constraint(equalTo: self.topAnchor).isActive = true
|
||||
imageView.trailingAnchor.constraint(equalTo: self.trailingAnchor).isActive = true
|
||||
self.imageViews.append(imageView)
|
||||
}
|
||||
updateLayout()
|
||||
}
|
||||
}
|
||||
var pageCount: Int {
|
||||
return images.count
|
||||
}
|
||||
var currentPage: CGFloat = 0.0 {
|
||||
didSet {
|
||||
updateLayout()
|
||||
}
|
||||
}
|
||||
|
||||
private func updateLayout() {
|
||||
for i in 0..<imageViews.count {
|
||||
let imageView = imageViews[i]
|
||||
let progress:CGFloat = currentPage - CGFloat(i)
|
||||
let alpha = max(CGFloat(0.0), min(CGFloat(1.0), progress+1))
|
||||
imageView.alpha = alpha
|
||||
}
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
updateLayout()
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue