SwiftUI颜色控件ColorPicker
SwiftUI颜色控件ColorPicker

SwiftUI颜色控件ColorPicker

在 SwiftUI 中,ColorPicker 是一个内建控件,用于让用户在界面上选择颜色,非常类似于 macOS 的 NSColorWell + NSColorPanel 的组合。

基本用法

@State private var color: Color = .red

var body: some View {
    ColorPicker("选择颜色", selection: $color)
}

ColorPicker 的特点

1、跨平台支持:支持 macOS, iOS, iPadOS, visionOS 等。

2、自动管理颜色面板:系统提供颜色选择器,不需手动弹窗。

3、支持绑定 Color 类型:可以直接绑定到 @State 或 @Binding。

4、支持不带标签样式:.labelsHidden() 可隐藏标题文本。

5、不支持 NSColor:只能绑定 SwiftUI.Color,如需桥接需要转化。

@State private var color: NSColor = .red

var body: some View {
    ColorPicker("选择颜色", selection: Binding(get: {
        Color(nsColor: color)
    }, set: { color in
        self.color = NSColor(color)
    }))
}

总结

ColorPicker 是 SwiftUI 中最方便的颜色选择器,适用于大多数跨平台应用场景,推荐优先使用。如果只面向 macOS 并希望自定义颜色 UI,则可以考虑用 NSColorPanel + NSColorWell 等。

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注