从 SwiftUI 颜色选择器中获取价值
Posted
技术标签:
【中文标题】从 SwiftUI 颜色选择器中获取价值【英文标题】:Get Value from SwiftUI Color Picker 【发布时间】:2020-06-30 07:25:10 【问题描述】:ios 14 附带用于 UIKit (UIColorWell
)、AppKit (NSColorWell
) 和 SwiftUI (ColorPicker
) 的原生颜色选择器。
虽然颜色井有一个属性 selectedColor
,它公开了选定的 UIColor
/NSColor
值,但 SwiftUI ColorPicker
采用 Binding<Color>
。但是,我找不到任何有关如何从 Color
值中获取有用信息的信息。
使用Color.init(_: UIColor)
从UIColor
创建Color
很容易,但似乎没有办法从现有的Color
获取UIColor
或提取颜色分量(例如RGB值类似于UIColor.getRed(_:green:blue:alpha:)
方法)。
如何从 SwiftUI ColorPicker
获取基础颜色值?
【问题讨论】:
【参考方案1】:在大多数情况下,您直接在 SwiftUI 中使用Color
,即不需要从中提取任何内容。
无论如何,如果需要UIColor
SwiftUI 2.0 提供了新的 API
extension UIColor @available(iOS 14.0, tvOS 14.0, watchOS 7.0, *) @available(OSX, unavailable) public convenience init(_ color: Color)
【讨论】:
以上是关于从 SwiftUI 颜色选择器中获取价值的主要内容,如果未能解决你的问题,请参考以下文章
Apple Notes 颜色选择器中的 # 是啥? (UIAccessibility - 旁白)
如何更改GraphicalDatePickerStyle日期选择器Swiftui的选择颜色(AM,PM)和时间