ColorWellKit

Continuous Integration Release Swift Versions Docs License

一个通用的替代品,用于 Cocoa 的 NSColorWell 和 SwiftUI 的 ColorPicker

ColorWellKit 旨在模仿 macOS 13 Ventura 中引入的颜色选择器的外观和行为,非常适合用于无法面向最新 SDK 的应用程序。虽然 ColorWellKit 的核心目标是保持与 Apple 设计相似的外观和行为,但它并非旨在成为一个完全相同的克隆。从系统颜色的处理方式到阴影的大小,存在许多细微的设计差异。在实践中,显著的差异非常少。

安装

将以下依赖项添加到您的 Package.swift 文件中

.package(url: "https://github.com/jordanbaird/ColorWellKit", from: "1.1.2")

用法

在此处阅读完整的文档

SwiftUI

创建一个 ColorWell 并将其添加到您的视图层级结构中。 有多种初始化器和修饰符可供选择,允许您设置颜色选择器的颜色、标签和样式。

import SwiftUI
import ColorWellKit

struct ContentView: View {
    @Binding var textColor: Color

    var body: some View {
        VStack {
            ColorWell("Text Color", selection: $textColor)
                .colorWellStyle(.expanded)

            MyCustomTextEditor(textColor: $textColor)
        }
    }
}

Cocoa

使用可用的初始化器之一创建 CWColorWell,或者使用 IBOutlet 来创建与 Storyboard 或 NIB 文件的连接。 使用您首选的设计模式来响应颜色变化。

import Cocoa
import ColorWellKit

class ViewController: NSViewController {
    @IBOutlet var colorWell: CWColorWell!
    @IBOutlet var textEditor: NSTextView!

    override func viewDidLoad() {
        colorWell.style = .expanded
        if let textColor = textEditor.textColor {
            colorWell.color = textColor
        }
    }

    @IBAction func updateTextColor(sender: CWColorWell) {
        textEditor.textColor = sender.color
    }
}

许可

ColorWellKit 在 MIT 许可下可用。