Pregunta

Tengo un UISlider que se supone que actualizar el color de un TextLabel. Ahora quiero que el usuario sea capaz de elegir entre todos los colores del espectro (especie de todas formas). Estaba pensando en el uso de este UISlider para representar los colores y cuando se arrastra el control deslizante al valor / cambios de color.

Sé que el espectro no es secuencial como: [0,0,0] ... [255,0,0] ... [255,1,0] ... [255,255,0] etc. Por lo tanto:? Cualquier sugerencia sobre cómo puedo poner en práctica este

¿Fue útil?

Solución

Sí, el color es un valor multidimensional, pero hay diferentes maneras de segmentar esas dimensiones. Creo que un matiz, saturación, brillo constructor, en lugar de RGB, le dará exactamente el efecto que desea. Por ejemplo, a menudo voy a generar un color aleatorio con [UIColor colorWithHue:<random float in [0,1]> saturation:1.f brightness:1.f alpha:1.f].

Slide tonalidad linealmente de 0 a 1, con la saturación y el brillo fijan en los valores más legible (o lo que sea).

Otros consejos

El color es al menos una selección de dos o tres dimensiones. Y una corredera sólo proporciona una salida escalar. Si desea una selección sin problemas el cambio usando solamente un parámetro escalar, es posible que trate de dibujar una línea de ruta en algunos carta de colores (o una representación funcional de la misma) y seleccionar un punto en ese camino paramétricamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top