Real assets

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 021c0db559
commit 7754d3d94f

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon_GIF@1x.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon_GIF@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon_GIF@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon_video@1x.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon_video@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon_video@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

@ -555,29 +555,22 @@ fileprivate class MediaGalleryCell: UICollectionViewCell {
private var tapGesture: UITapGestureRecognizer!
private let badgeView: UIImageView
private let gradientView: GradientView
private var item: MediaGalleryItem?
public weak var delegate: MediaGalleryCellDelegate?
// TODO real icons
let videoBadgeImage = #imageLiteral(resourceName: "video-video-selected")
let animatedBadgeImage = #imageLiteral(resourceName: "video-mute-selected")
static let videoBadgeImage = #imageLiteral(resourceName: "ic_gallery_badge_video")
static let animatedBadgeImage = #imageLiteral(resourceName: "ic_gallery_badge_gif")
override init(frame: CGRect) {
self.imageView = UIImageView()
imageView.contentMode = .scaleAspectFill
self.badgeView = UIImageView()
badgeView.contentMode = .scaleAspectFit
badgeView.isHidden = true
badgeView.backgroundColor = UIColor.white
let badgeLabel = UILabel()
// badgeLabel.text = "GIF"
badgeLabel.textColor = UIColor.gray
badgeLabel.adjustsFontSizeToFitWidth = true
badgeView.addSubview(badgeLabel)
badgeLabel.autoPinEdgesToSuperviewEdges()
self.gradientView = GradientView(from: .clear, to: UIColor.black.withAlphaComponent(0.5))
super.init(frame: frame)
@ -586,13 +579,20 @@ fileprivate class MediaGalleryCell: UICollectionViewCell {
self.clipsToBounds = true
self.contentView.addSubview(imageView)
self.contentView.addSubview(gradientView)
self.contentView.addSubview(badgeView)
imageView.autoPinEdgesToSuperviewEdges()
gradientView.autoPinEdgesToSuperviewEdges(with: .zero, excludingEdge: .top)
gradientView.autoSetDimension(.height, toSize: 16)
// Note assets were rendered to match exactly. We don't want to re-size with
// content mode lest they become less legible.
let kBadgeSize = CGSize(width: 18, height: 12)
badgeView.autoPinEdge(toSuperviewEdge: .leading, withInset: 3)
badgeView.autoPinEdge(toSuperviewEdge: .bottom, withInset: 3)
badgeView.autoSetDimensions(to: CGSize(width: 15, height: 10))
badgeView.layer.cornerRadius = 2
imageView.autoPinEdgesToSuperviewEdges()
badgeView.autoSetDimensions(to: kBadgeSize)
}
@available(*, unavailable, message: "Unimplemented")
@ -604,13 +604,16 @@ fileprivate class MediaGalleryCell: UICollectionViewCell {
self.item = item
self.imageView.image = item.thumbnailImage
if item.isVideo {
self.gradientView.isHidden = false
self.badgeView.isHidden = false
// self.badgeView.image = self.videoBadgeImage
self.badgeView.image = MediaGalleryCell.videoBadgeImage
} else if item.isAnimated {
self.gradientView.isHidden = false
self.badgeView.isHidden = false
// self.badgeView.image = self.animatedBadgeImage
self.badgeView.image = MediaGalleryCell.animatedBadgeImage
} else {
assert(item.isImage)
self.gradientView.isHidden = true
self.badgeView.isHidden = true
}

@ -472,22 +472,23 @@ extension AttachmentApprovalViewController: UIScrollViewDelegate {
}
}
private class GradientView: UIView {
// TODO extract into it's own file
public class GradientView: UIView {
let gradientLayer = CAGradientLayer()
required init(from fromColor: UIColor, to toColor: UIColor) {
public required init(from fromColor: UIColor, to toColor: UIColor) {
gradientLayer.colors = [fromColor.cgColor, toColor.cgColor]
super.init(frame: CGRect.zero)
self.layer.addSublayer(gradientLayer)
}
required init?(coder aDecoder: NSCoder) {
public required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func layoutSubviews() {
public override func layoutSubviews() {
super.layoutSubviews()
gradientLayer.frame = self.bounds
}

Loading…
Cancel
Save