首页 > 解决方案 > 如何导出 SwiftUI 2 的 ColorPicker 视图的 RGB 组件?

问题描述

我正在使用此扩展来导出颜色值的 RGB 组件,当用户从SwiftUI 2的新ColorPicker视图中选择颜色时,该颜色值会更改:

我正在观察我的颜色状态的值变化,如下所示:

@State private var textColor = Color.white

ColorPicker("Text Color", selection: $textColor, supportsOpacity: false)
            .onChange(of: textColor) { newColor in
              print(newColor.components)
            }

但是,对于选择器中的某些颜色,在打印该值时,其中包含一些负值。什么会导致这个问题?

(red: 0.9607847332954407, green: 0.9254906177520752, blue: -9.62614990385191e-07, opacity: 1.0)

在此处输入图像描述

标签: iosswiftxcodeswiftuiuicolor

解决方案


scientific代表了这个非常小的数字。(似乎溢出了)

实际上是:

-0.0000009626149903851910494267940521240234375 ≅ -0

推荐阅读