12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- //
- // ThemeCGFloatPicker.swift
- // SwiftTheme
- //
- // Created by Gesen on 2017/1/28.
- // Copyright © 2017年 Gesen. All rights reserved.
- //
- import UIKit
- @objc public final class ThemeCGFloatPicker: ThemePicker{
-
- public convenience init(keyPath: String) {
- self.init(v: { CGFloat(O2ThemeManager.number(for: keyPath)?.doubleValue ?? 0) })
- }
-
- public convenience init(keyPath: String, map: @escaping (Any?) -> CGFloat?) {
- self.init(v: { map(O2ThemeManager.value(for: keyPath)) })
- }
-
- public convenience init(floats: CGFloat...) {
- self.init(v: { O2ThemeManager.element(for: floats) })
- }
-
- public required convenience init(arrayLiteral elements: CGFloat...) {
- self.init(v: { O2ThemeManager.element(for: elements) })
- }
-
- public required convenience init(stringLiteral value: String) {
- self.init(keyPath: value)
- }
-
- public required convenience init(unicodeScalarLiteral value: String) {
- self.init(keyPath: value)
- }
-
- public required convenience init(extendedGraphemeClusterLiteral value: String) {
- self.init(keyPath: value)
- }
-
- }
- public extension ThemeCGFloatPicker {
-
- class func pickerWithKeyPath(_ keyPath: String, map: @escaping (Any?) -> CGFloat?) -> ThemeCGFloatPicker {
- return ThemeCGFloatPicker(v: { map(O2ThemeManager.value(for: keyPath)) })
- }
-
- }
- @objc public extension ThemeCGFloatPicker {
-
- class func pickerWithKeyPath(_ keyPath: String) -> ThemeCGFloatPicker {
- return ThemeCGFloatPicker(keyPath: keyPath)
- }
-
- class func pickerWithFloats(_ floats: [CGFloat]) -> ThemeCGFloatPicker {
- return ThemeCGFloatPicker(v: { O2ThemeManager.element(for: floats) })
- }
-
- }
- extension ThemeCGFloatPicker: ExpressibleByArrayLiteral {}
- extension ThemeCGFloatPicker: ExpressibleByStringLiteral {}
|