ColorPickerRing

一个用纯 SwiftUI 编写的,具有色轮外观的颜色选择器实现。它与 UIColor 和 NSColor 兼容。

ColorPickerDemo-2

用法

将此仓库作为 Swift Package Dependency 添加到您的项目中。您可以在 Xcode 中找到该选项,位置在 "File > Swift Packages > Add Package Dependency..."。粘贴此仓库的 HTTPS 引用,就完成了!

导入模块后:只需使用 ColorPickerRing 结构,它是一个常规的 SwiftUI View。 该项目使用了 DynamicColor 依赖,允许您编写平台无关的颜色类。无论是 iOS 还是 macOS。内部使用 UIColorNSColor

import SwiftUI
import ColorPickerRing

struct ContentView: View {
    @State var color = UIColor.red
    
    var body: some View {
        ColorPickerRing(color: $color, strokeWidth: 30)
            .frame(width: 300, height: 300, alignment: .center)
    }
}

除非您将其框定为自定义大小,否则色轮将占据所有可用空间。您还可以通过给定的属性指定色轮的 strokeWidth(笔画宽度)。

与 SwiftUI Color 的用法

由于原生的 SwiftUI Color 被实现为视图,而不是模型数据结构,因此将来不会用作数据结构。 这与 Apple 提供的指标一致:他们为其 Color 类实现了一个 @frozen 属性,这可以解释为他们不会为其 Color 视图类提供任何进一步的数据提取接口。

许可

您可以根据 MIT 许可证的条款和条件使用此软件。

Hendrik Ulbrich © 2020