fixed issue with color

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-06-02 14:52:31 -05:00
parent 2e6d4943a2
commit c9b667d4c5

View File

@ -111,7 +111,6 @@ public class ControlColorConfiguration: KeyColorConfigurable {
public typealias KeyType = UIControl.State
public typealias ObjectType = Surfaceable & UIControl
public var keyColors: [KeyColorConfiguration<KeyType>] = []
private var lastKeyColor: KeyColorConfiguration<KeyType>?
public required init() { }
@ -130,26 +129,11 @@ public class ControlColorConfiguration: KeyColorConfigurable {
public func getColor(_ object: any ObjectType) -> UIColor {
let state = object.state
let surface = object.surface
// find the exact match
if let keyColor = keyColors.first(where: {$0.key == state }) {
lastKeyColor = keyColor
return keyColor.surfaceConfig.getColor(surface)
} else if state.contains(.disabled), let keyColor = keyColors.first(where: {$0.key == .disabled }) {
lastKeyColor = keyColor
if let keyColor = keyColors.first(where: {$0.key.isSubset(of: state) }) {
return keyColor.surfaceConfig.getColor(surface)
} else if state.contains(.highlighted), let keyColor = keyColors.first(where: {$0.key == .highlighted }) {
lastKeyColor = keyColor
return keyColor.surfaceConfig.getColor(surface)
} else {
if let lastKeyColor {
return lastKeyColor.surfaceConfig.getColor(surface)
} else {
return .clear
}
return .clear
}
}
}