Como animar uma série de imagens "no lugar" em seu iOS App

Aqui, você vai encontrar uma maneira de animar uma série de imagens "no lugar" em seu iOS APP- você não está movendo a imagem ao redor- vez que você está mudando a imagem onde está a fazê-lo aparecer como se estivesse animado.

Para tornar o botão piscar Test Drive, por exemplo, adicionar o código em negrito abaixo. Como você pode ver, apenas uma única linha de código é necessária para animar o botão.

- (Void) viewDidLoad {[super viewDidLoad] -NSURL * backgroundURL = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource: @ "CarRunning" 
OfType: @ "FIA"]] - backgroundAudioPlayer = [[AVAudioPlayer alloc initWithContentsOfURL]: backgroundURL erro: nil -backgroundAudioPlayer.numberOfLoops = -1- [backgroundAudioPlayer prepareToPlay -NSURL * burnRubberURL = [NSURL fileURLWithPath]]: mainBundle [[NSBundle] pathForResource : @ "BurnRubber"
OfType: @ "FIA"]] - AudioServicesCreateSystemSoundID ((__ ponte CFURLRef) burnRubberURL, burnRubberSoundID) -[Self.testDriveButton setBackgroundImage: [UIImage animatedImageNamed: @"Botão" Duração: 1.0] forState: UIControlStateNormal] -}

Este botão piscando é projetado para mostrar-lhe como para animar mudanças imagens. Piscando objetos na tela são geralmente evitadas em boas interfaces. Lembre-se o famoso ditado, "Menos é mais."

Normalmente, você pode pensar em fazer a imagem de fundo uma única imagem. Contudo, animatedImageNamed: Duração: e alguns métodos semelhantes usar em vez de uma série de arquivos, cada um exibido por um período especificado. Este tipo de método permite que você animar (desta vez, no lugar), não só um botão, mas também qualquer imagem simplesmente fornecendo uma série de imagens:

 [TestDriveButton setBackgroundImage: [UIImage animatedImageNamed: @"Botão" Duração: 1.0] forState: UIControlStateNormal] -

No animatedImageNamed: método, você fornecer um base nome de uma imagem para animar. O método anexa um 0 com o nome de base e cargas que imagem (neste caso, Button0).

Após o tempo que você especificar no duração ter decorrido, o animatedImageNamed: método acrescenta o próximo número (neste caso, 1) para o nome da imagem de base e tenta carregá-lo eo restante de imagens (até 1.024 imagens) até que se esgote de imagens, e em seguida, ele começa de novo.

No navegador de projeto, abra o triângulo de divulgação para o grupo de Recursos. Se você olhar no grupo RoadTrip Resources, você vê duas imagens, Button0 e Button1 - com Botão sendo o nome base especificado. Esta é uma animação "no lugar", então todas as imagens incluídas na imagem animada devem compartilhar o mesmo tamanho e escala.

Se você selecionar cada imagem no navegador de projeto, você pode ver que eles são cores ligeiramente diferentes, e cada um irá exibir para 1,0 segundo (Duração: 1,0). Isso faz com que o botão piscar e certamente acrescenta um pouco de vida à vista principal.

menu