Archive for agosto, 2009

Manipulando Views - Parte Final

quinta-feira, agosto 27th, 2009

Como todos vocês são pessoas observadoras, já devem ter percebido que as telas viewMain e viewRoot já estão declaradas. Para completar esta declaração vamos inserir a seguinte linha no RootViewController.m:

@implementation RootViewController

@synthesize infoButton;

@synthesize flipsideNavigationBar;

@synthesize mainViewController;

@synthesize flipsideViewController;

@synthesize viewMain;

@synthesize viewRoot;

@synthesize textField;

@synthesize labelSTR;

@synthesize button;

@synthesize viewTela1;

Pronto, estamos preparados para exibir a Tela1. Mas conforme descrevi anteriormente, será necessário criar um botão para que este possa disparar a exibição da Tela1. Desta forma, vamos precisar declarar este botão também na RootViewController.h, porém agora, estaremos declarando uma ação e por isto usaremos a IBAction, conforme segue:

- (IBAction)toggleView;

- (IBAction)showMessage:(id)sender;

- (IBAction)showTela1:(id)sender;

Sempre que declaramos algo em um arquivo .h, precisamos implementar no arquivo .m, logo em RootViewController.m, colocaremos a implementação desta ação conforme segue:

- (IBAction)showTela1:(id)sender {

[viewMain addSubview:viewTela1];

}

Estamos quase lá. Como já vimos anteriormente, precisamos criar os vinculos entre o código que foi escrito agora e os componentes IB. Vamos voltar para o IB, de um duplo click no arquivo MainWindos.xib. Abra a tela RootViewController e com a tecla control pressionada, de um click em cima do botão Tela1 que criamos nesta view. Vai aparecer uma janela do tipo popup, no circulo do lado direito TouchDown de um click e arraste até a view RootController, ao soltar irá aparecer outra janela popup, e lá iremos escolher a opção showTela1.

figura-06

Agora só falta criar o vinculo para a view Tela1. Com o botão control pressionado de um click em cima da view RootViewController. Irá aparecer uma janela popup, e no circulo do lado direito da opção viewTela1 click e arraste para a view Tela1. Faça o mesmo para a opção viewMain, mas arraste para o Window.

figura-07

Agora é só executar o código e ver o funcionamento do botão Tela1. Com esta matéria nos finalizamos os conceitos básicos do desenvolvimento para iPhone. Nas próximas edições, estaremos fazendo projetos mais elaborados utilizando os conceitos básicos que aprendemos até agora.

(Matéria publicada na revista MAC+)

(by Ademar Varela)

Manipulando View - Parte II

domingo, agosto 16th, 2009

Bom criamos uma view, vamos colocar alguns componentes nesta view para ficar um pouco mais interessante. Conforme mostrado nas matérias anteriores, coloque um componente label nesta View. Não se esqueça de dar um duplo click em cima da Tela1 para abrir a janela. Coloque um label escrito “Tela 1 em ação”. (figura 04). Fizemos algo bem simples apenas para mostrar o funcionamento de uma chamada de view. Agora vamos pensar o seguinte, de que maneira vamos chamar a Tela1? A maneira mais simples é criar um botão na tela anterior e na ação deste botão, chamar a Tela1. Ganha um beijo da Gisele, quem responder que a tela anterior é a RootViewController. É isso mesmo, nesta view iremos colocar um componente button que quando pressionado irá exibir a Tela1. Com um duplo click, abra a RootViewController e coloque um botão nesta view, pode posicionar em qualquer lugar.

figura-05

Criamos uma nova View, criamos uma maneira de exibi-la, vamos voltar para o código, pois é lá que vamos trabalhar para efetivamente exibir a famosa Tela1. Feche o IB e retorne para o XCode. Como eu escrevi anteriormente, uma View é um componente como outro qualquer, logo eu preciso declara-la como tal. Vamos lembrar mais uma vez que a tela que irá chamar a Tela1 é a RootViewController, logo teremos que declarar a Tela1 na própria. Como uma view é basicamente um componente de saída, usaremos a declaração IBOutlet para referencia-la, vamos abrir nosso antigo projeto e inserir a declaração para a Tela1 na RootViewController.h, conforme segue:

@interface RootViewController : UIViewController {

UIButton *infoButton;

MainViewController *mainViewController;

FlipsideViewController *flipsideViewController;

UINavigationBar *flipsideNavigationBar;

IBOutlet UIView *viewMain;

IBOutlet UIView *viewRoot;

IBOutlet UITextField *textField;

IBOutlet UIButton *button;

IBOutlet UILabel *labelSTR;

IBOutlet UIView *viewTela1;

}

@property (nonatomic, retain) IBOutlet UIButton *infoButton;

@property (nonatomic, retain) MainViewController *mainViewController;

@property (nonatomic, retain) UINavigationBar *flipsideNavigationBar;

@property (nonatomic, retain) FlipsideViewController *flipsideViewController;

@property (nonatomic, retain) UIView *viewMain;

@property (nonatomic, retain) UIView *viewRoot;

@property (nonatomic, retain) UITextField *textField;

@property (nonatomic, retain) UIButton *button;

@property (nonatomic, retain) UILabel *labelSTR;

@property (nonatomic, retain) UIView *viewTela1;

(Matéria publicada na revista MAC+)

(by Ademar Varela)

Manipulando Views - Parte I

sábado, agosto 1st, 2009

Vamos agora entender como manipular views, relembrando que todas as views são criadas usando o IB. Quando você cria uma view no IB, você precisa referencia-la no código, assim como você já fez com os demais componentes. Aliás, vamos estabelecer que uma view é um componente como outro qualquer, embora aparentemente tenha um comportamento diferenciado, uma view é tratada da mesma forma que os demais componentes que falamos até agora, tais como: textbox, label e button.

Os principais arquivos do IB tem a extensão XIB, e no nosso projeto temos 3 arquivos com estas extensões: FlipsideView, MainView e MainWindow. Agora uma importante observação. Todas as nossas matérias estão usando o SDK 2.2.1. Quando sair o SDK 3.0 alguns arquivos irão sofrer algumas pequenas modificações na sua forma de trabalhar, estes 3 arquivos mencionados serão modificados. Nada que mude radicalmente o que foi e será explicado, se você entendeu até agora o nosso humilde tutorial, com certeza irá entender as modificações que virão com a nova versão. Os conceitos irão permanecer, somente algumas formas de implementação irá mudar.

Vamos voltar ao nosso projeto. Aplique um duplo click em cima do arquivo MainWindow. Esta ação fará com que o IB seja aberta automaticamente.

figura-01

Vá até a janela Library e selecione Windows, View & Bars. Apareça como uma das opções o componente UIView. Click e arraste-o até a janela MainWindow.

figura-02

Desta forma teremos criado um componente UIView chamado View. Para modificar o nome deste componente, deixe-o selecionado e vá até a janela View Attributes, e selecione o último ícone que tem um “i” em azul. Ao clicar neste ícone a janela se torna View Identity, e ai basta colocar um nome no atributo Name que o componente será renomeado. Coloque Tela1 como nome deste componente.

figura-03

(Materia publicada na revista MAC+)

(by Ademar Varela)