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

Шрифт
Фон

Por que editar o arquivo Main.storyboard?

O motivo pelo qual, neste ponto, é necessário editar o arquivo

Main.storyboard, se deve ao fato que ele é a forma padrão pela qual

o Xcode cria projetos do tipo Single View Application (além de al-

guns outros), sendo o ponto de partida da app. Esta é também uma

forma da Apple estimular o uso de Storyboards em detrimento do an-

tigo formato que se baseada apenas em arquivos .xib. Somado a

isso, você deve se lembrar que todo novo projeto também inicia com

a classe ViewController, que anteriormente renomeamos para

RootController, e esta mesma classe também está configurada como

sendo a primeira que o aplicativo deverá utilizar, quando o aplicativo for

iniciado.

No capítulo 5 veremos mais a fundo este assunto.

4.5

Conectar as ações dos botões

Da mesma forma como já fizemos diversas outras vezes durante o livro, para que

os botões tenham utilidade é necessário conectar as ações deles ao código, utili-

zando a já conhecida abordagem Selecionar componente -> Arrastar com CTRL

para o arquivo .h -> Connection do tipo Action. Mais fácil que devorar o bolo de

chocolate da vovó. Chame a ação do botão Adicionar de abrirAdicionar, e

para segundo botão nomeie a ação de abrirConfiguracoes. O seu arquivo

RootController.h deverá ficar assim:

# import <UIKit / UIKit.h>

@interface RootController : UIViewController

- (IBAction)abrirAdicionar:(id)sender;

- (IBAction)abrirConfiguracoes:(id)sender;

@end

4.6

Criar a tela de Adicionar Empresa

Adicione uma nova classe ( Command + N) chamada AdicionarController da

mesma forma como criamos o RootController, lembrando de selecionar a opção

65

4.7. Navegar de um controlador para outro

Casa do Código

para criar o arquivo .xib, e adicione apenas um label com o texto Tela adicionar

empresa no arquivo AdicionarController.xib. Lembre-se que o objetivo é

focar na

navegação entre os controladores, e não na funcionalidade de adicionar

empresas propriamente dita.

4.7

Navegar de um controlador para outro

A

classe

UIViewController

contém

uma

propriedade

cha-

mada

navigationController

que

representa

a

instância

do

UINavigationController utilizada pelo aplicativo, sendo que os princi-

pais métodos são dois:

pushViewController:animated, para navegar para um outro controla-

dor

popViewControllerAnimated, para voltar um nível na hierarquia.

Para ir do RootController para a tela de adicionar empresa, implemente o

método abrirAdicionar no arquivo RootController.m da seguinte forma

(obs: lembre-se de importar o arquivo AdicionarController.h):

- (IBAction)abrirAdicionar:(id)sender {

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

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

}

Rode o aplicativo ( Command+R) e interaja com o botão Adicionar. Acon-

teceu alguma coisa?

Muito provavelmente não, pois apesar da propriedade

navigationController fazer parte da API da classe UIViewController, o va-

lor dela não é criado automaticamente pelo iOS. Portanto, é nossa responsabilidade

disponibilizar um UINavigationController e instruir o aplicativo a utilizá-lo.

4.8

Associar um UINavigationController ao pro-

jeto

Conceitualmente um UINavigationController não deve ser estendido, mas

sim ser utilizado diretamente. Imagine o navigation controller como sendo um ge-

renciador, que recebe uma referência para o controlador inicial, e a partir dai permite

a navegação para os outros através do método pushViewController:animated.

66

Casa do Código

Capítulo 4. Coordenando o trabalho com controladores

A propriedade navigationController da classe UIViewController é

vazia em controllers que não façam parte da hierarquia de um navigation control-

ler (o que faz bastante sentido). Porém, a partir do momento em que criamos um

UINavigationController, o iOS atribui automaticamente um valor válido para

a propriedade do controlador principal e de todos os outros que fizerem parte da

navegação. Isso é bastante prático, pois não precisamos nos preocupar em manter

uma referência global ao navigation controller e atribuí-lo manualmente aos demais.

Para adicionar um navigation controller ao projeto,

abra o arquivo

Main.storyboard e selecione a barra preta na parte inferior, conforme

mostra a imagem 4.7, e em seguida acesse o menu Editor -> Embed In

-> Navigation Controller. O resultado ficará como o da imagem 4.8.

Figura 4.7: Clique na barra para selecionar o controlador

67

4.9. Criar os demais controladores

Casa do Código

Figura 4.8: Navigation Controller associado ao projeto

Rode novamente o aplicativo e interaja com o botão Adicionar, e veja que desta

vez a tela do AdicionarController é exibida corretamente. Uma outra coisa

nova é que o aplicativo apresenta uma barra superior de navegação chamada de

Navigation Bar , onde um botão com o título Back aparece no canto supe-

rior esquerdo quando navegamos de um lugar para o outro. Tecnicamente funciona

desta maneira: ao executarmos pushViewController:animated, o iOS usará o

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

0
Шрифт
Фон

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