Merge pull request #1 from fromkk/feature/package add Package.swift
Merge pull request #1 from fromkk/feature/package
add Package.swift
Change theme color of your apps.
github "fromkk/ColorSet"
carthage update
ColorSet_iOS.framework
import ColorSet_iOS protocol ColorSet { static var backgroundColor: UIColor { get } static var textColor: UIColor { get } } struct MyColorSet { static let backgroundColor: ColorObservable<UIColor> = .init(DefaultColorSet.backgroundColor) static let textColor: ColorObservable<UIColor> = .init(DefaultColorSet.textColor) static func replace(_ colorSet: ColorSet.Type) { backgroundColor.accept(colorSet.backgroundColor) textColor.accept(colorSet.textColor) } } struct DefaultColorSet: ColorSet { static var backgroundColor: UIColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1) static var textColor: UIColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1) } struct DarkColorSet: ColorSet { static var backgroundColor: UIColor = #colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1) static var textColor: UIColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1) }
import UIKit import ColorSet_iOS class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBOutlet weak var darkmodeSwitch: UISwitch! let observationBag = ColorObservationBag() override func viewDidLoad() { super.viewDidLoad() MyColorSet.backgroundColor.bind(to: view, keyPath: \.backgroundColor).append(to: observationBag) MyColorSet.textColor.bind(to: label, keyPath: \.textColor).append(to: observationBag) MyColorSet.textColor.subscribe { [weak self] color in self?.label.layer.borderColor = color.cgColor }.append(to: observationBag) } @IBAction func darkmodeSwitchDidChanged(_ sender: UISwitch) { if sender.isOn { MyColorSet.replace(DarkColorSet.self) } else { MyColorSet.replace(DefaultColorSet.self) } } }
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
ColorSet
Description
Change theme color of your apps.
Installation
Carthage
github "fromkk/ColorSet"
to your Cartfile .carthage update
ColorSet_iOS.framework
in Carthage/BuildUsage
Define your ColorSet
Change color set