56 lines
1.7 KiB
Swift
56 lines
1.7 KiB
Swift
// Copyright © 2018 SkeletonView. All rights reserved.
|
|
|
|
import UIKit
|
|
import SkeletonView
|
|
|
|
class CollectionViewCell: UICollectionViewCell {
|
|
|
|
var label: UILabel!
|
|
var imageView: UIImageView!
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
|
|
isSkeletonable = true
|
|
createLabel()
|
|
createImageView()
|
|
|
|
}
|
|
|
|
required init?(coder aDecoder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
private func createImageView() {
|
|
imageView = UIImageView(image: UIImage(named: "picture"))
|
|
imageView.isSkeletonable = true
|
|
imageView.translatesAutoresizingMaskIntoConstraints = false
|
|
imageView.contentMode = .scaleAspectFit
|
|
addSubview(imageView)
|
|
NSLayoutConstraint.activate([
|
|
imageView.centerXAnchor.constraint(equalTo: centerXAnchor),
|
|
imageView.topAnchor.constraint(equalTo: topAnchor),
|
|
imageView.heightAnchor.constraint(equalTo: heightAnchor, multiplier: 0.75),
|
|
imageView.widthAnchor.constraint(equalTo: widthAnchor, multiplier: 0.75)
|
|
])
|
|
|
|
|
|
}
|
|
|
|
private func createLabel() {
|
|
label = UILabel()
|
|
label.isSkeletonable = true
|
|
label.text = "Lorem ipsum"
|
|
label.textAlignment = .center
|
|
label.translatesAutoresizingMaskIntoConstraints = false
|
|
addSubview(label)
|
|
NSLayoutConstraint.activate([
|
|
label.centerXAnchor.constraint(equalTo: centerXAnchor),
|
|
label.bottomAnchor.constraint(equalTo: bottomAnchor),
|
|
label.heightAnchor.constraint(equalToConstant: 40),
|
|
label.widthAnchor.constraint(equalToConstant: frame.width)
|
|
])
|
|
}
|
|
|
|
}
|