Created
October 11, 2016 18:05
-
-
Save paulmars/9fa1e90addb06efd8ca1ca8d97747496 to your computer and use it in GitHub Desktop.
UIView for normal picture / animated picture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// TypedImage.swift | |
// | |
// Created by Paul McKellar on 8/22/16. | |
// Copyright © 2016 Paul McKellar. All rights reserved. | |
// | |
import UIKit | |
import FLAnimatedImage | |
class TypedImageView: UIView { | |
var buffer: NSMutableData? | |
var imageView: UIImageView! | |
var animatedImageView: FLAnimatedImageView! | |
override init(frame: CGRect) { | |
super.init(frame: frame); | |
self.animatedImageView = FLAnimatedImageView() | |
self.animatedImageView.frame = frame | |
self.animatedImageView.contentMode = .scaleAspectFit | |
self.imageView = UIImageView() | |
self.imageView.frame = frame | |
self.imageView.contentMode = .scaleAspectFit | |
return; | |
} | |
required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented"); } | |
func setImage(buffer: NSMutableData) -> Void { | |
self.animatedImageView.removeFromSuperview() | |
self.imageView.removeFromSuperview() | |
self.buffer = buffer | |
let imageInspect = ImageInspection(data: buffer) | |
if (imageInspect.ext() == "gif") { | |
self.animatedImageView.animatedImage = FLAnimatedImage(animatedGIFData: buffer as Data!) | |
self.animatedImageView.frame = self.frame | |
self.addSubview(self.animatedImageView) | |
} | |
else { | |
self.imageView.image = UIImage(data: buffer as Data) | |
self.imageView.frame = self.frame | |
self.addSubview(self.imageView) | |
} | |
} | |
func setSize(size: CGSize) -> Void { | |
self.imageView.frame.size = size | |
self.animatedImageView.frame.size = size | |
self.frame.size = size | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment