一个用纯 SwiftUI 编写的,具有色轮外观的颜色选择器实现。它与 UIColor 和 NSColor 兼容。
将此仓库作为 Swift Package Dependency 添加到您的项目中。您可以在 Xcode 中找到该选项,位置在 "File > Swift Packages > Add Package Dependency..."。粘贴此仓库的 HTTPS 引用,就完成了!
导入模块后:只需使用 ColorPickerRing
结构,它是一个常规的 SwiftUI View
。 该项目使用了 DynamicColor 依赖,允许您编写平台无关的颜色类。无论是 iOS 还是 macOS。内部使用 UIColor
和 NSColor
。
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
被实现为视图,而不是模型数据结构,因此将来不会用作数据结构。 这与 Apple 提供的指标一致:他们为其 Color
类实现了一个 @frozen 属性,这可以解释为他们不会为其 Color
视图类提供任何进一步的数据提取接口。
您可以根据 MIT 许可证的条款和条件使用此软件。
Hendrik Ulbrich © 2020