Changed ViewValueView to KeyValueView
A Color and String KeyValue SwiftUI View
import KeyValueView
public enum SomeColors: String, Hashable { case textColor, backgroundColor, iconColor } public enum SomeStrings: String, Hashable { case usageDescription } public struct SomeView< ColorDictionary: ColorProviding, StringDictionary: StringProviding >: KeyValueView where ColorDictionary.ColorKey == SomeColors, StringDictionary.StringKey == SomeStrings { public var colorDictionary: ColorDictionary public var stringDictionary: StringDictionary public init( colorDictionary: ColorDictionary, stringDictionary: StringDictionary ) { self.colorDictionary = colorDictionary self.stringDictionary = stringDictionary } public var body: some View { Text(string(forKey: .usageDescription, defaultString: "👋")) .foregroundColor(color(forKey: .textColor, defaultColor: .white)) .background(color(forKey: .backgroundColor, defaultColor: .clear)) } }
struct SomeColorDictionary: ColorProviding { var colors: [SomeColors : UIColor] = [ .backgroundColor: .orange, .textColor: .blue ] } struct SomeStringDictionary: StringProviding { var strings: [SomeStrings : String] = [ .usageDescription: "import KeyValueView" ] }
SomeView( colorDictionary: SomeColorDictionary(), stringDictionary: SomeStringDictionary() )
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
KeyValueView
A Color and String KeyValue SwiftUI View
Usage
Example
Using a KeyValueView
Define Colors and Strings
Create a KeyValueView