I've encountered the same problem, and use UIColorWell as a work around.
struct ColorPickerWellView: UIViewRepresentable {
		private var selectedColor: Color
		let onColorPicked: (UIColor) -> Void
		init(selectedColor: Color, onColorPicked: @escaping (UIColor) -> Void) {
				self.selectedColor = selectedColor
				self.onColorPicked = onColorPicked
		}
		func makeUIView(context: Context) -> UIView {
				let colorWell = UIColorWell(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
				colorWell.title = "Select Color"
				colorWell.selectedColor = UIColor(selectedColor)
				colorWell.addTarget(context.coordinator, action: #selector(context.coordinator.colorWellChanged), for: .valueChanged)
				return colorWell
		}
		func updateUIView(_: UIView, context _: Context) {}
		func makeCoordinator() -> Coordinator {
				Coordinator(
						onColorPicked: self.onColorPicked
				)
		}
		class Coordinator: NSObject {
				private let onColorPicked: (UIColor) -> Void
				init(onColorPicked: @escaping (UIColor) -> Void) {
						self.onColorPicked = onColorPicked
				}
				@objc func colorWellChanged(_ sender: UIColorWell) {
						if let c = sender.selectedColor {
								self.onColorPicked(c)
						}
				}
		}
}
Post
Replies
Boosts
Views
Activity
struct ColorPickerWellView: UIViewRepresentable {
		let selectedColor: UInt32
		let onColorPicked: (UIColor) -> Void
		init(selectedColor: UInt32, onColorPicked: @escaping (UIColor) -> Void) {
				self.selectedColor = selectedColor
				self.onColorPicked = onColorPicked
		}
		func makeUIView(context: Context) -> UIColorWell {
				let colorWell = UIColorWell(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
				colorWell.title = "Select Color"
				colorWell.selectedColor = UIColor(selectedColor.toColor())
				colorWell.supportsAlpha = true
				colorWell.addTarget(context.coordinator, action: #selector(context.coordinator.colorWellChanged), for: .valueChanged)
				return colorWell
		}
		func updateUIView(_ colorWell: UIColorWell, context _: Context) {
				colorWell.selectedColor = UIColor(selectedColor.toColor())
		}
		func makeCoordinator() -> Coordinator {
				Coordinator(
						onColorPicked: self.onColorPicked
				)
		}
		class Coordinator: NSObject {
				private let onColorPicked: (UIColor) -> Void
				init(onColorPicked: @escaping (UIColor) -> Void) {
						self.onColorPicked = onColorPicked
				}
				@objc func colorWellChanged(_ sender: UIColorWell) {
						if let c = sender.selectedColor {
								print(c)
								self.onColorPicked(c)
						}
				}
		}
}
updated