3

iOS 14 附带了用于 UIKit ( UIColorWell)、AppKit ( NSColorWell) 和 SwiftUI ( ColorPicker) 的原生颜色选择器。

虽然颜色井具有selectedColor公开选定UIColor/NSColor值的属性,但 SwiftUIColorPicker采用Binding<Color>. 但是,我找不到任何信息如何从Color价值中获得任何有用的东西。

Color从 a创建 aUIColor很容易使用Color.init(_: UIColor),但似乎没有办法UIColor从现有的 aColor或提取颜色分量(例如,类似于该UIColor.getRed(_:green:blue:alpha:)方法的 RGB 值)。

如何从 SwiftUI 获取基础颜色值ColorPicker

4

1 回答 1

3

在大多数情况下,您Color直接在 SwiftUI 中使用,即不需要从中提取任何内容。

无论如何,如果需要让UIColorSwiftUI 2.0 提供新的 API

extension UIColor {

    @available(iOS 14.0, tvOS 14.0, watchOS 7.0, *)
    @available(OSX, unavailable)
    public convenience init(_ color: Color)
}
于 2020-06-30T07:29:27.517 回答