从 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 颜色选择器中获取价值的主要内容,如果未能解决你的问题,请参考以下文章

从 JQUERY 日期选择器中获取价值

Apple Notes 颜色选择器中的 # 是啥? (UIAccessibility - 旁白)

SwiftUI - 颜色选择器 - ***大小

如何更改GraphicalDatePickerStyle日期选择器Swiftui的选择颜色(AM,PM)和时间

CircleImage 在选择器中选择一个选项并添加到列表后不断改变颜色

ExtJS 4 菜单颜色选择器中的 CustomColors 颜色 (Ext.menu.ColorPicker)