doing dual shadows now
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
ea2667ed87
commit
ee8f472239
@ -340,14 +340,13 @@ class DropShadowViewController: BaseViewController<ShadowView> {
|
||||
}
|
||||
|
||||
public class ShadowView: View {
|
||||
public var shadow1 = View()
|
||||
public var shadow2 = View()
|
||||
|
||||
|
||||
public var viewLightColor: UIColor.VDSColor = .paletteGray65 { didSet { setNeedsUpdate() }}
|
||||
public var viewDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
||||
|
||||
public var viewRadiusRange: CGFloat = 8.0 { didSet { setNeedsUpdate() }}
|
||||
|
||||
private var shadowLayer1: CALayer = CALayer()
|
||||
public var showShadow: Bool = true { didSet { setNeedsUpdate() }}
|
||||
public var opacityRange: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
||||
public var offsetXRange: CGFloat = 2.0 { didSet { setNeedsUpdate() }}
|
||||
@ -356,6 +355,7 @@ public class ShadowView: View {
|
||||
public var shadowLightColor: UIColor.VDSColor = .backgroundPrimaryDark { didSet { setNeedsUpdate() }}
|
||||
public var shadowDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
||||
|
||||
private var shadowLayer2: CALayer = CALayer()
|
||||
public var showShadow2: Bool = false { didSet { setNeedsUpdate() }}
|
||||
public var opacityRange2: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
||||
public var offsetXRange2: CGFloat = 2.0 { didSet { setNeedsUpdate() }}
|
||||
@ -366,23 +366,22 @@ public class ShadowView: View {
|
||||
|
||||
public override func setup() {
|
||||
super.setup()
|
||||
addSubview(shadow1)
|
||||
addSubview(shadow2)
|
||||
shadow1.pinToSuperView()
|
||||
shadow2.pinToSuperView()
|
||||
width(constant: 100)
|
||||
height(constant: 100)
|
||||
|
||||
// Add shadow layers as sublayers of the view's layer
|
||||
layer.insertSublayer(shadowLayer1, at: 0)
|
||||
layer.insertSublayer(shadowLayer2, at: 0)
|
||||
}
|
||||
|
||||
public override func updateView() {
|
||||
super.updateView()
|
||||
let viewColor = SurfaceColorConfiguration(viewLightColor.uiColor, viewDarkColor.uiColor).getColor(surface)
|
||||
backgroundColor = viewColor
|
||||
shadow1.backgroundColor = .brown
|
||||
shadow2.backgroundColor = .yellow
|
||||
|
||||
shadow1.isHidden = !showShadow
|
||||
shadow2.isHidden = !showShadow2
|
||||
shadowLayer1.backgroundColor = viewColor.cgColor
|
||||
shadowLayer2.backgroundColor = viewColor.cgColor
|
||||
shadowLayer1.isHidden = !showShadow
|
||||
shadowLayer2.isHidden = !showShadow2
|
||||
setNeedsLayout()
|
||||
layoutIfNeeded()
|
||||
}
|
||||
@ -392,24 +391,24 @@ public class ShadowView: View {
|
||||
super.layoutSubviews()
|
||||
|
||||
let dropshadowColor = SurfaceColorConfiguration(shadowLightColor.uiColor, shadowDarkColor.uiColor).getColor(surface)
|
||||
let dropshadowColor2 = SurfaceColorConfiguration(shadowLightColor.uiColor, shadowDarkColor.uiColor).getColor(surface)
|
||||
let dropshadowColor2 = SurfaceColorConfiguration(shadowLightColor2.uiColor, shadowDarkColor2.uiColor).getColor(surface)
|
||||
layer.cornerRadius = CGFloat(viewRadiusRange)
|
||||
layer.masksToBounds = false
|
||||
|
||||
shadow1.layer.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadow1.layer.masksToBounds = false
|
||||
shadow1.layer.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadow1.layer.shadowColor = UIColor.purple.cgColor //dropshadowColor.cgColor
|
||||
shadow1.layer.shadowOpacity = Float(opacityRange)
|
||||
shadow1.layer.shadowOffset = .init(width: CGFloat(offsetXRange), height: CGFloat(offsetYRange))
|
||||
shadow1.layer.shadowRadius = CGFloat(radiusRange)
|
||||
// Update shadow layers frames to match the view's bounds
|
||||
shadowLayer1.frame = bounds
|
||||
shadowLayer2.frame = bounds
|
||||
|
||||
shadowLayer1.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadowLayer1.shadowColor = dropshadowColor.cgColor
|
||||
shadowLayer1.shadowOpacity = Float(opacityRange)
|
||||
shadowLayer1.shadowOffset = .init(width: CGFloat(offsetXRange), height: CGFloat(offsetYRange))
|
||||
shadowLayer1.shadowRadius = CGFloat(radiusRange)
|
||||
|
||||
shadow2.layer.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadow2.layer.masksToBounds = false
|
||||
shadow2.layer.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadow2.layer.shadowColor = UIColor.blue.cgColor//dropshadowColor2.cgColor
|
||||
shadow2.layer.shadowOpacity = Float(opacityRange2)
|
||||
shadow2.layer.shadowOffset = .init(width: CGFloat(offsetXRange2), height: CGFloat(offsetYRange2))
|
||||
shadow2.layer.shadowRadius = CGFloat(radiusRange2)
|
||||
shadowLayer2.cornerRadius = CGFloat(viewRadiusRange)
|
||||
shadowLayer2.shadowColor = dropshadowColor2.cgColor
|
||||
shadowLayer2.shadowOpacity = Float(opacityRange2)
|
||||
shadowLayer2.shadowOffset = .init(width: CGFloat(offsetXRange2), height: CGFloat(offsetYRange2))
|
||||
shadowLayer2.shadowRadius = CGFloat(radiusRange2)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user