initial
This commit is contained in:
63
Pods/SwiftEntryKit/Source/Utils/GradientView.swift
generated
Normal file
63
Pods/SwiftEntryKit/Source/Utils/GradientView.swift
generated
Normal file
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// GradientView.swift
|
||||
// SwiftEntryKit
|
||||
//
|
||||
// Created by Daniel Huri on 4/20/18.
|
||||
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class GradientView: UIView {
|
||||
|
||||
struct Style {
|
||||
let gradient: EKAttributes.BackgroundStyle.Gradient
|
||||
let displayMode: EKAttributes.DisplayMode
|
||||
|
||||
init?(gradient: EKAttributes.BackgroundStyle.Gradient?,
|
||||
displayMode: EKAttributes.DisplayMode) {
|
||||
guard let gradient = gradient else {
|
||||
return nil
|
||||
}
|
||||
self.gradient = gradient
|
||||
self.displayMode = displayMode
|
||||
}
|
||||
}
|
||||
|
||||
private let gradientLayer = CAGradientLayer()
|
||||
|
||||
var style: Style? {
|
||||
didSet {
|
||||
setupColor()
|
||||
}
|
||||
}
|
||||
|
||||
init() {
|
||||
super.init(frame: .zero)
|
||||
layer.addSublayer(gradientLayer)
|
||||
}
|
||||
|
||||
required init?(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func layoutSubviews() {
|
||||
super.layoutSubviews()
|
||||
gradientLayer.frame = bounds
|
||||
}
|
||||
|
||||
private func setupColor() {
|
||||
guard let style = style else {
|
||||
return
|
||||
}
|
||||
gradientLayer.colors = style.gradient.colors.map {
|
||||
$0.color(for: traitCollection, mode: style.displayMode).cgColor
|
||||
}
|
||||
gradientLayer.startPoint = style.gradient.startPoint
|
||||
gradientLayer.endPoint = style.gradient.endPoint
|
||||
}
|
||||
|
||||
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||
setupColor()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user