Me gustaría saber cómo poner en práctica la bola azul con el pulsante anillo de ubicación actual en el mapa, pero sin un mapview.

Básicamente me gustaría saber la mejor manera de tener una bola azul con una vibrante anillo normal, en una UIView (o mi vista personalizada) cada vez que el usuario toca la pantalla, con ese toque de ser el centro de la bola azul.

Tengo 2 ideas, en primer lugar me podría implementar una animación, que yo no era capaz de hacer, pero es probable que sea posible.
En segundo lugar yo podría obtener una secuencia de imágenes, como un gif, y la pantalla donde el usuario toca.

Cual es la mejor opción? O hay una mejor opción?

Gracias.

InformationsquelleAutor Rodrigo Ruiz | 2012-12-31

3 Comentarios

  1. 44

    Intente esto:

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(200, 200, 100, 100)];
    view.backgroundColor = [UIColor blueColor];
    view.layer.cornerRadius = 50;
    
    [self.view addSubview:view];
    
    CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
    scaleAnimation.duration = 0.2;
    scaleAnimation.repeatCount = HUGE_VAL;
    scaleAnimation.autoreverses = YES;
    scaleAnimation.fromValue = [NSNumber numberWithFloat:1.2];
    scaleAnimation.toValue = [NSNumber numberWithFloat:0.8];
    
    [view.layer addAnimation:scaleAnimation forKey:@"scale"];

    Conjunto de los valores de los parámetros, para modificar el efecto.

    Edición:

    Tiene que agregar el QuartzCore marco, e incluyen <QuartzCore/QuartzCore.h> para que esto funcione.

    • Muchas gracias, que solucionó todos mis problemas. Yo no sabía que capa había que cornerRadius de la propiedad.
    • ¿Cómo acepto =). Lo siento, nunca hizo mucho aquí, sólo buscado por lo que las personas ya han publicado.
    • Una cosa más, ¿qué pasa si quiero hacer un arco no totalmente completa? como de 0 a PI ? Me las arreglé para hacer esto con CGContextAddArc, pero no puedo establecer el ancho del borde. Acabo de encontrar fuera de mí =), gracias de todos modos. Respuesta: CGContextSetLineWidth
  2. 17

    la prueba SWIFT

    let view:UIView = UIView(frame: CGRectMake(200, 200, 100, 100))
    view.layer.cornerRadius = 50
    view.backgroundColor = UIColor.blueColor()
    
    self.view.addSubview(view)
    
    let scaleAnimation:CABasicAnimation = CABasicAnimation(keyPath: "transform.scale")
    
    scaleAnimation.duration = 0.5
    scaleAnimation.repeatCount = 30.0
    scaleAnimation.autoreverses = true
    scaleAnimation.fromValue = 1.2;
    scaleAnimation.toValue = 0.8;
    
    view.layer.addAnimation(scaleAnimation, forKey: "scale")
    • scaleAnimation.repeatCount = 30.0 sólo se repita la animación de 30 iteraciones. Uso scaleAnimation.repeatCount = ENORME para que la animación se repita indefinidamente.
  3. 1

    Haciendo la animación a través de programación en lugar de con una secuencia de imágenes es el mejor enfoque, y también cómo Apple hacerlo). Tiene un número de ventajas, no menos de la que es mucho mejor rendimiento (la imagen de la secuencia de animación es poco probable que se ejecuta a 60 fps!).

    Usted puede lograr esto de la animación en un número de maneras: la más sencilla es probablemente para crear su anillo de gráfico en un editor de imágenes y, a continuación, crear un UIImageView para sostenerlo. Usted puede entonces simplemente animar la escala, alfa, y las propiedades de un marco (asegurarse de que su imagen está configurado para ver el tamaño de la imagen en escala) de la vista. Para asegurarse de que su palpitante de la animación se repite de forma indefinida puede establecer el UIView animación de la repetición de la propiedad. Su central «bola azul» puede ser separado UIImageView superpuesto en la parte superior.

    UIView animación es bastante sencillo, y Apple tiene un montón de código de ejemplo para que te vas. Usted acaba de encerrar las propiedades que para animar el interior de un bloque de animación, junto con la animación de los parámetros (duración, repetición, etc), y iOS hará el resto. Buscando en StackOverflow para ‘UIView de animación’ le dará un montón y un montón de preguntas que pueden ser de ayuda.

Dejar respuesta

Please enter your comment!
Please enter your name here