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 class ShadowView: View {
|
||||||
public var shadow1 = View()
|
|
||||||
public var shadow2 = View()
|
|
||||||
|
|
||||||
public var viewLightColor: UIColor.VDSColor = .paletteGray65 { didSet { setNeedsUpdate() }}
|
public var viewLightColor: UIColor.VDSColor = .paletteGray65 { didSet { setNeedsUpdate() }}
|
||||||
public var viewDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
public var viewDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
||||||
|
|
||||||
public var viewRadiusRange: CGFloat = 8.0 { didSet { setNeedsUpdate() }}
|
public var viewRadiusRange: CGFloat = 8.0 { didSet { setNeedsUpdate() }}
|
||||||
|
|
||||||
|
private var shadowLayer1: CALayer = CALayer()
|
||||||
public var showShadow: Bool = true { didSet { setNeedsUpdate() }}
|
public var showShadow: Bool = true { didSet { setNeedsUpdate() }}
|
||||||
public var opacityRange: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
public var opacityRange: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
||||||
public var offsetXRange: CGFloat = 2.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 shadowLightColor: UIColor.VDSColor = .backgroundPrimaryDark { didSet { setNeedsUpdate() }}
|
||||||
public var shadowDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
public var shadowDarkColor: UIColor.VDSColor = .backgroundPrimaryLight { didSet { setNeedsUpdate() }}
|
||||||
|
|
||||||
|
private var shadowLayer2: CALayer = CALayer()
|
||||||
public var showShadow2: Bool = false { didSet { setNeedsUpdate() }}
|
public var showShadow2: Bool = false { didSet { setNeedsUpdate() }}
|
||||||
public var opacityRange2: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
public var opacityRange2: CGFloat = 1.0 { didSet { setNeedsUpdate() }}
|
||||||
public var offsetXRange2: CGFloat = 2.0 { didSet { setNeedsUpdate() }}
|
public var offsetXRange2: CGFloat = 2.0 { didSet { setNeedsUpdate() }}
|
||||||
@ -366,23 +366,22 @@ public class ShadowView: View {
|
|||||||
|
|
||||||
public override func setup() {
|
public override func setup() {
|
||||||
super.setup()
|
super.setup()
|
||||||
addSubview(shadow1)
|
|
||||||
addSubview(shadow2)
|
|
||||||
shadow1.pinToSuperView()
|
|
||||||
shadow2.pinToSuperView()
|
|
||||||
width(constant: 100)
|
width(constant: 100)
|
||||||
height(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() {
|
public override func updateView() {
|
||||||
super.updateView()
|
super.updateView()
|
||||||
let viewColor = SurfaceColorConfiguration(viewLightColor.uiColor, viewDarkColor.uiColor).getColor(surface)
|
let viewColor = SurfaceColorConfiguration(viewLightColor.uiColor, viewDarkColor.uiColor).getColor(surface)
|
||||||
backgroundColor = viewColor
|
backgroundColor = viewColor
|
||||||
shadow1.backgroundColor = .brown
|
shadowLayer1.backgroundColor = viewColor.cgColor
|
||||||
shadow2.backgroundColor = .yellow
|
shadowLayer2.backgroundColor = viewColor.cgColor
|
||||||
|
shadowLayer1.isHidden = !showShadow
|
||||||
shadow1.isHidden = !showShadow
|
shadowLayer2.isHidden = !showShadow2
|
||||||
shadow2.isHidden = !showShadow2
|
|
||||||
setNeedsLayout()
|
setNeedsLayout()
|
||||||
layoutIfNeeded()
|
layoutIfNeeded()
|
||||||
}
|
}
|
||||||
@ -392,24 +391,24 @@ public class ShadowView: View {
|
|||||||
super.layoutSubviews()
|
super.layoutSubviews()
|
||||||
|
|
||||||
let dropshadowColor = SurfaceColorConfiguration(shadowLightColor.uiColor, shadowDarkColor.uiColor).getColor(surface)
|
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.cornerRadius = CGFloat(viewRadiusRange)
|
||||||
layer.masksToBounds = false
|
layer.masksToBounds = false
|
||||||
|
|
||||||
shadow1.layer.cornerRadius = CGFloat(viewRadiusRange)
|
// Update shadow layers frames to match the view's bounds
|
||||||
shadow1.layer.masksToBounds = false
|
shadowLayer1.frame = bounds
|
||||||
shadow1.layer.cornerRadius = CGFloat(viewRadiusRange)
|
shadowLayer2.frame = bounds
|
||||||
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)
|
|
||||||
|
|
||||||
shadow2.layer.cornerRadius = CGFloat(viewRadiusRange)
|
shadowLayer1.cornerRadius = CGFloat(viewRadiusRange)
|
||||||
shadow2.layer.masksToBounds = false
|
shadowLayer1.shadowColor = dropshadowColor.cgColor
|
||||||
shadow2.layer.cornerRadius = CGFloat(viewRadiusRange)
|
shadowLayer1.shadowOpacity = Float(opacityRange)
|
||||||
shadow2.layer.shadowColor = UIColor.blue.cgColor//dropshadowColor2.cgColor
|
shadowLayer1.shadowOffset = .init(width: CGFloat(offsetXRange), height: CGFloat(offsetYRange))
|
||||||
shadow2.layer.shadowOpacity = Float(opacityRange2)
|
shadowLayer1.shadowRadius = CGFloat(radiusRange)
|
||||||
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