Cómo animar un uibezierpath para que se destaque

Parte de mi aplicación para iPad permite a los usuarios dibujar caminos para conectar diferentes partes de la pantalla. Todos tienen el mismo color (blanco) y ancho de línea. Cada ruta se representa como UIBezierPath. Además de sus ubicaciones, se ven idénticos. Dado que los usuarios solo editan una ruta a la vez, quiero hacerlo de modo que puedan ver visualmente qué ruta están editando.

¿Hay alguna forma de animar la ruta, de modo que el usuario tenga una cola visual sobre qué ruta está editando? Estoy pensando que tal vez la ruta actual podría brillar o tener líneas de puntos en movimiento. No quiero cambiar el color base, ya que uso muchos colores en las otras partes de la aplicación (prácticamente todos los colores principales excepto el blanco).

preguntado el 03 de mayo de 12 a las 19:05

1 Respuestas

No he hecho esto de forma animada, pero hago que mis rutas de dibujo actuales tengan líneas discontinuas y luego sólidas una vez que finaliza el dibujo. Subclasifiqué NSBezierPath y agregué una propiedad seleccionada. El método setSelected se ve así:

-(void)setSelected:(BOOL) yes_no {
    selected = yes_no;
   if (yes_no == YES) {
        CGFloat dashArray[2];
        dashArray[0] = 5;
        dashArray[1] = 2;
        [self setLineDash:dashArray count:2 phase:0];
       self.pathColor = [self.unselectedColor highlightWithLevel:.5];
   } else {
       [self setLineDash:nil count:2 phase:0];
        self.pathColor = self.unselectedColor;
   }
}

Establecí la propiedad en SÍ en el método mouseDragged: y luego en NO en mouseUP:

contestado el 03 de mayo de 12 a las 21:05

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