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.