Steil Rafael - iOS: Programe para iPhone e iPad стр 19.

Шрифт
Фон

título do controlador anterior (representado pela propriedade title) como texto

do botão e, caso não haja nenhum título definido, o texto Back é utilizado.

4.9

Criar os demais controladores

O nosso aplicativo também precisa de uma hipotética tela de configurações aliás,

duas. A primeira delas contém algumas coisas gerais, como se o catálogo deve ser

utilizado em Modo seguro e se os dados devem ser salvos automaticamente ou

68

Casa do Código

Capítulo 4. Coordenando o trabalho com controladores

não. Além disso, precisamos dos dados de acesso do usuário. Para o primeiro caso

crie um novo controlador chamado ConfguracoesController como feito ante-

riormente, e adicione

alguns componentes para parecer que ele tem utilidade, como

exemplificado na figura 4.9.

Figura 4.9: Exemplo da tela principal de configurações

Implemente o método A B R I RCO N F I G U R A C O E S:

Não

esqueça

de

implementar

o

corpo

do

método

abrirConfiguracoes: no arquivo RootController.m, seguindo

a mesma lógica do que foi feito para o método abrirAdicionar:,

porém desta vez instanciando o ConfiguracoesController.

Além disso, esta tela deverá chamar uma outra tela, portanto conecte a ação do

botão Dados de acesso ao método abreDadosAcesso:, conforme a listagem

abaixo:

69

4.9. Criar os demais controladores

Casa do Código

// ConfiguracoesController.h

# import <UIKit / UIKit.h>

@interface ConfiguracoesController : UIViewController

- (IBAction)abreDadosAcesso:(id)sender;

@end

Para a tela de Dados de acesso, crie um novo controlador chamado DadosA-

cessoController e adicione alguns campos, conforme a figura 4.10. Para esta tela não

há necessidade de código adicional por enquanto.

Figura 4.10: Exemplo das configurações de acesso

Agora, no arquivo ConfiguracoesController.m, implemente o corpo do

método abreDadosAcesso: para que o DadosAcssoController seja aberto

quando solicitado, conforme demonstrado abaixo:

70

Casa do Código

Capítulo 4. Coordenando o trabalho com controladores

- (IBAction)abreDadosAcesso:(id)sender {

DadosAcessoController *c = [[DadosAcessoController alloc] init];

[self.navigationController pushViewController:c animated:YES];

}

Execute o aplicativo ( Command + R) e navegue entre os controladores, e veja

como o UINavigationController cuida da parte de transição entre eles. Neste

ponto deverá ser possível navegar conforme demonstrado na figura 4.11.

Figura 4.11: Estrutura da navegação

4.10

Esconder a barra superior de navegação

Certas vezes não há a necessidade de deixar a barra de navegação superior

(a Navigation Bar) do

UINavigationController visível o tempo todo,

caso ela não agregue funcionalidade, e o ideal seria escondê-la e mostrar so-

mente quando necessário.

Para obter este resultado basta executar o método

setNavigationBarHidden:animated do UINavigationController, lem-

brando que ele é representado pela propriedade navigationController. Adici-

71

4.10. Esconder a barra superior de navegação

Casa do Código

one a linha de código abaixo no método viewWillAppear:animated da classe

RootViewController, e rode novamente o aplicativo.

// RootController.m

-(void) viewWillAppear:(BOOL)animated {

[self.navigationController setNavigationBarHidden:YES animated:YES];

}

Contudo, quando navegamos na hierarquia para outro controlador, a barra de

navegação continua escondida, impossibilitando de navegarmos para o nível an-

terior. Para solucionar este problema basta fazer o processo inverso nas classes

ConfguracoesController e AdicionarController, conforme demonstrado

abaixo:

// Nos controladores Configurações e Adicionar

-(void) viewWillAppear:(BOOL)animated {

[self.navigationController setNavigationBarHidden:NO animated:YES];

}

Rode novamente o aplicativo (menu Product -> Run) e veja a diferença no fun-

cionamento.

72

Capítulo 5

Storyboards

Historicamente, a maneira de construir aplicações iOS consistia em criar uma série

de controladores, cada um de maneira independente do outro, e frequentemente

com arquivos .xib para a criação do layout. Como vimos no capítulo 4, ainda

é possível construir aplicações desta forma, porém agora existe a opção de utilizar

storyboards no lugar de controladores independentes.

A grande vantagem de storyboards é que eles nos permitem definir visualmente

como as interações entre as muitas telas dos aplicativos irão ocorrer, tudo isso em um

único arquivo, o que nos dá uma visão ampla de todas as rotas possíveis. Aplicativos

costumam ter

um único storyboard, embora tecnicamente seja possível haver mais

deles.

Tenha em mente que storyboards são uma maneira de criar controladores e defi-

nir como eles interagem entre si - por exemplo, como ir de um para o outro -, porém

nada muito além disso. Tudo o que já foi mostrado no livro, e tudo mais o que ainda

será demonstrado, pode trabalhar em conjunto com storyboards.

5.1. Projeto e conceitos gerais

Casa do Código

Os termos de storyboards

Quando falamos de storyboards em iOS, frequentemente veremos os

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке