Como controlar a exibição em seu aplicativo ipad

Ao criar seu aplicativo para iPad, você precisa incluir o código que controla a visão nesse aplicativo. O exemplo a seguir app iPad é projetado para exibir palavras de rolagem para baixo na tela. Depois de abrir o DeepThoughtsViewController.m arquivo para que ele aparece no editor de texto, você inserir o código em negrito (o código que não está em negrito é fornecido pelo modelo de aplicativo baseado-View):

#importar "DeepThoughtsViewController.h"#importar "Constants.h"@implementation DeepThoughtsViewControllervelocidade @synthesize, imageView-marca #pragma -marca #pragma ciclo de vida Ver/ * // O inicializador designado. Substituir para executar configuração que é necessária antes de a vista é loaded.- (id) initWithNibName: (NSString *) nibNameOrNil pacote: (NSBundle *) nibBundleOrNil {if (self = [super-initWithNibName: pacote nibNameOrNil: nibBundleOrNil]) {// personalizado inicialização} return auto -} * // * // Implementar loadView para criar uma hierarquia de exibição programaticamente, sem usar um loadView nib.- (void) {} ​​* // * // Implementar viewDidLoad fazer a configuração adicional depois de carregar a vista, normalmente a partir de uma nib.- (void) viewDidLoad {[super viewDidLoad] -} * /- (Void) viewDidLoad {  [Super viewDidLoad] - [NSTimer scheduledTimerWithTimeInterval: 0,5 meta: auto seletor: @selector (NoCronômetro) userInfo: nil repete: YES] - if ([[NSUserDefaults standardUserDefaults] objectForKey: kWordsOfWisdom]!) {[[NSUserDefaults standardUserDefaults] setObject: @"Peace Love Música Groovy" forKey: kWordsOfWisdom] -fallingWords = @"Peace Love Música Groovy"- }  outro {fallingWords = [[NSUserDefaults standardUserDefaults] stringForKey: kWordsOfWisdom] - } if ([[NSUserDefaults standardUserDefaults] objectForKey: kSpeed]!) {[[NSUserDefaults standardUserDefaults] setDouble: 10,0 forKey: kSpeed] - velocidade = kMaxSpeed-10.0-}  outro {Velocidade = kMaxSpeed ​​- [[NSUserDefaults standardUserDefaults] doubleForKey: kSpeed] - }}marca #pragma -#pragma marca de Animação- (Void) {NoCronômetro  UILabel * fallingImageView = [[UILabel alloc] initWithFrame: CGRectMake (0, 0, 100, 30)] - fallingImageView.text = fallingWords- fallingImageView.textColor = [UIColor purpleColor] -  fallingImageView.font = [UIFont systemFontOfSize: 30] - fallingImageView.backgroundColor = [UIColor clearColor] -   fallingImageView.adjustsFontSizeToFitWidth = Sim-  int STARTX = redondo (aleatório ()% 400) - int FimX = redondo (aleatório ()% 400) - // velocidade de queda duplo randomSpeed ​​= (1 / redonda (aleatório ()% 100) 1) * velocidade- // tamanho da imagem- scaleH dupla = (1 / redonda (aleatório ()% 100) 1) * 60- scaleW dupla = (1 / redonda (aleatório ()% 100) 1) * 200-  [Self.view addSubview: fallingImageView] -  fallingImageView.frame = CGRectMake (STARTX, -100, scaleW, scaleH) -  fallingImageView.alpha = .75-  [UIView beginAnimations: contexto nulo: fallingImageView] - [UIView setAnimationDuration: randomSpeed] - [UIView setAnimationDelegate: self] - [UIView setAnimationDidStopSelector: @selector (animationDone: terminado: contexto:)] -  fallingImageView.frame = CGRectMake (FimX, self.view.frame.size.height, scaleW, scaleH) -  [UIView commitAnimations] -}-(Void) animationDone: (NSString *) animationID terminado: (NSNumber *) contexto acabado: (id) {contexto UIImageView * fallingImageView = context [FallingImageView removeFromSuperview] - [Liberação fallingImageView] -}marca #pragma -Controles marca #pragma- (IBAction) Definições {}marca #pragma -#pragma marca de orientação// Substituir para permitir que outros do que a shouldAutorotateToInterfaceOrientation orientation.- retrato padrão (BOOL) orientações: (UIInterfaceOrientation) interfaceOrientation {return do Sim}marca #pragma -#pragma Gestão de marca de Memória- (Void) didReceiveMemoryWarning {// Libera a visão se não tiver um superview [Super didReceiveMemoryWarning] -. // liberar quaisquer dados armazenados em cache, imagens, etc que não estão em uso.} - (void) {// viewDidUnload liberar qualquer subviews retidos do principal view.// eg self.myOutlet = nil -} - (void) dealloc {[Super dealloc] -} @ final

Aqui está uma repartição do código que você adicionar:

  • A primeira declaração de adicionar as importações dos Constants.h Arquivo. Agora você pode usar todas as chaves que você configurou com NSUserDefaults no código subseqüente para recuperar as configurações do usuário.

  • Objective-C cria os métodos de acesso que você precisa para você sempre que você incluir um @synthesize Instrução- a instrução no código anterior cria um método de acesso para cada @propriedade declaração (Rapidez e imageView).

  • Os dois # Marca Pragma declarações contêm o código de inicialização e carga-view.

  • o viewDidLoad mensagem é enviada logo após a exibição foi carregado a partir do arquivo nib (o .xib arquivo que você pode modificar no Interface Builder). Este é o lugar onde você inserir seu código de vista de inicialização, que neste caso significa que indica palavras caindo DeepThoughts. o viewDidLoad método que você inserido começa pela criação de um timer para o intervalo entre cada exibição de palavras em queda.

    Você usa o NSTimer classe para criar temporizadores. Um temporizador de espera até um certo intervalo de tempo decorrido e depois incêndios, enviando uma mensagem especificada para um objeto de destino. Esse código usa scheduledTimerWithTimeInterval: alvo: seletor: USERINFO: repete: método de classe para criar o temporizador e programá-lo no loop de execução atual no modo padrão. O intervalo é de 0,5 segundos, o alvo é auto, eo seletor é a mensagem para enviar para o alvo quando os fogos temporizador - neste caso, No temporizador. o informação de usuário é a informação do usuário para o temporizador (definido para nada), E o temporizador é ajustado para repetir - ou seja, ele vai repetidamente reprogramar-se até invalidada.

  • Em seguida, o código verifica para ver se o kWordsOfWisdom locação foi transferida para NSUserDefaults.



  • O código muda as preferências do usuário em NSUserDefaults somente após o aplicativo é executado pela primeira vez. Se as configurações não foram movidos para NSUserDefaults ainda, o código usa o valor de preferência inicial ( “Love Peace Groovy Music”) para fallingWords. Se as configurações foram movidos para NSUserDefaults, o código lê-los e em seguida, define fallingWords a tudo o que a preferência do usuário é. O código, em seguida, repete este cheque com o Rapidez configuração.

    Você usa standardUserDefaults (a NSUserDefaults método de classe) para obter acesso às configurações padrão do usuário padrão, e você pode armazenar dados lá.

  • o marca #pragma seção intitulada controles inclui o método de configurações de espaço reservado para conectar o botão Info Luz para o controlador de vista. Isto é o açao método usando o IBAction qualificador.

  • Ligar o temporizador para o desenho real da tela é o No temporizador método. o UILabel classe implementa uma exibição de texto somente leitura. Você pode usar essa classe para desenhar uma ou várias linhas de texto estático. Neste caso, o bloco de código usa a initWithFrame método com CGRectMake para criar um rectângulo, com a coordenada x e coordenada y do ponto de origem do rectângulo em (0, 0) e uma largura e altura especificadas (100, 30).

  • O código converte a fallingWords string para fallingImageView para display-configura a cor do texto, fonte e fundo cor- e ajusta o tamanho da fonte para a largura. o Fonte e cor do texto propriedades se aplicam a toda a cadeia de texto.

  • O próximo bloco de código usa a função aleatória para os pontos inicial e final (sTARTX e FimX), Para a velocidade, e para a largura (scaleW) E a altura (scaleH) para fallingImageView.

  • o beginAnimations: contexto: método inicia o bloco de animação, eo commitAnimations método termina no bloco. Dentro do bloco, o código define os valores de propriedade para fazer alterações visuais que compõem a animação.

  • o setAnimationDuration método define a duração animação, e setAnimationDidStopSelector define a mensagem para enviar ao delegado animação quando a animação pára. O delegado animação é animationDone, que usa removeFromSuperview (Um método de instância do UIView classe) para remover fallingImageView e então usa lançamento (Um método de instância do NSAutoreleasePool classe) para liberar fallingImageView.

  • Finalmente, este código tem dois # Marca Pragma declarações para marcar a seção como Orientação e mais dois # Marca Pragma afirmações acima do didReceiveMemoryWarning método para marcar essa seção como gerenciamento de memória.


Publicações relacionadas