Efecto de superposición de color de imagen XCode

Me pregunto si lo siguiente es posible y cómo hacerlo.

Tengo una imagen (UIImageView) que es un archivo png con un fondo transparente. La imagen tiene el mismo tono de gris (es esencialmente una silueta) y tiene 4 segmentos distintos.

Debajo de la imagen, tengo un control deslizante con 4 paradas (incluido el inicio y el final): por lo tanto, cuando el usuario se desliza, se "ajusta" para que el puntero se coloque directamente debajo de un "segmento" de la imagen.

Lo que me gustaría hacer es: si el control deslizante está debajo del segmento 2, por ejemplo, la imagen aparecerá con un tinte azul desde una cierta posición x a otra posición x.

preguntado el 28 de agosto de 12 a las 15:08

No estoy seguro de seguir lo que estás preguntando aquí. ¿Podría proporcionar una imagen de ejemplo del efecto que desea lograr? -

¿Por qué no usar cuatro imágenes y simular el chasquido del que hablas? -

Eso sería demasiado fácil @Hyperbole :) Esperaba no ajustar el efecto de superposición de color para que fuera una transición suave en las 4 partes de la imagen:

1 Respuestas

Creo que la mejor manera de hacer esto sería monitorear el UIControlEventValueChanged en un UISlider. Puedes configurar slider.minimumValue = 0; y slider.maximumValue = 4;.

Luego, en la acción que configuraste para UIControlEventValueChanged puede ajustar el control deslizante a esa ubicación y cambiar el tinte. Ex:

- (void)valueChanged:(id)sender {
    if (value<0) {
         slider.value = 0;
         //Tint the uiimage
    }
    else if (value<1) {
         slider.value = 2;
         //Tint the uiimage
    }
}

Respondido 28 ago 12, 15:08

Oye, tengo la función de control deslizante funcionando bien. Es la manipulación de la parte de la imagen en la que estoy trabajando. Además, este es el código que me entretiene para 'ajustar' mi control deslizante -(IBAction)valueChanged:(UISlider*)sender { NSUInteger index = (NSUInteger)(slider.value + 0.5); // Round the number. [slider setValue:index animated:NO]; - Patrick

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.