Rightpoint / BonMot

Beautiful, easy attributed strings in Swift
MIT License
3.54k stars 196 forks source link

Legacy Color Theming support #383

Open heyltsjay opened 4 years ago

heyltsjay commented 4 years ago

For Apps supporting < iOS 13, it would be nice to expose a .colorProvider: (UITraitCollection) -> UIColor

example callsite:

let label: UILabel = {
     let label = UILabel()
     label.bonMotStyle = .init([
            .alignment(.center),
            .colorProvider({
                   // Ideally one would abstract this semantically
                   switch $0 {
                          case .light: return .darkText
                          case .dark: return .lightText
                   }
            )
     ])
    return label
}()

The implementation on the BonMot side would involve updating the current AdaptableTextContainer implementations.