Archive for junho, 2010

Apostila iPhone - Codificando Segmented Control

domingo, junho 13th, 2010

Criando uma ação para o Segmented Control

Para começar vamos definir uma variável que irá determinar o primeiro índice deste componente, no arquivo MainViewController.h:

#define KShowSegmentIndex 0

Vamos utilizar esta definição para definir a ação que será tomada no momento que desejarmos exibir ou inibir o componente Picker View.

Toda vez que tivermos trabalhando com um componente de multipla escolha, é comum criarmos uma ação com o nome de toggle, no caso vamos criar uma com o nome de toggleShowHide. Em MainViewController.h:

- (IBAction)toggleShowHide:(id)Sender;

Agora vamos em MainViewController.m:

- (IBAction)toggleShowHide:(id)Sender {

NSInteger segment = segControl.selectedSegmentIndex;

if (segment == KShowSegmentIndex) {

[dataPicker setHidden:NO];

} else {

[dataPicker setHidden:YES];

}

}

Para entendermos melhor, segControl é a declaração do UISegmentControl que eu declarei no MainViewController.h e dataPicker é a declaração do Picker View.

Certifique-se que todos os componentes estão declarado e relacionados com o IB.

Execute o código.

Exercício

  1. No projeto iPicker, crie uma nova view e insira um componente Picker View com somente uma coluna com os seguintes elementos: Campinas, Santos, Ribeirão Preto, São Vicente, Guarujá e Indaiatuba. Na view principal insira um SegmentedControl. A primeira opção apresentará o Picker View dos Estados e a segunda a de Cidades.

(by Ademar Varela)

Apostila iPhone - Segmented Control

sábado, junho 5th, 2010

Este componente é outro que só existe no iPhone SDK. Ele tem um equivalente, mas não igual, no ambiente Desk que é o componene Tab. O funcionamento deste componente é similar ao Tab, ele executa alguma ação na medida que você seleciona um botão, ou seja, as ações estão segmentadas e dependem da execução dos botões para serem executados.

Inserindo um Segmented Control no IB

Abra o projeto iPhoneHello, e abra o MainView.xib.

Na janela Libray selecione Input & Values e arraste o componente UISegmentedControl para a Main View.

figura-49

Após inserir o componente vamos configura-lo.

Em atributos da janela Inspector, selecione Style com a opção Bar.

No atributo Segment 0, atribua “Apresenta” para o item Title e em Segment 1, atribua “Esconde” para o item Title.

figura-50

Agora que já deixamos o componente do jeito desejado, vamos fechar o IB e retornar para o XCode.

Inserindo Segmented Control no XCode

Não vou me estender sobre como declarar componentes no XCode, já sabemos como fazer isso, declarar componente, definir propriedades e inicializa-lo. Este é só um lembrete.

Para entender o funcionamento deste componente vamos determinar uma ação para o momento em que o usuário pressionar o botão “Apresentar” e o “Esconder”. Na verdade, vamos definir que quando o usuário escolher “Apresentar” vamos exibir o Picker View que fizemos anteriormente, e quando o usuário pressionar “Esconder” vamos inibir o componente Picker View.

(by Ademar Varela)

Apostila iPhone - Manipulando um Picker View

sábado, junho 5th, 2010

Podemos manipular a seleção feita pelo usuário, para isso vamos modificar o método showHello.

NSInteger row = [dataPicker selectedRowInComponent:0];

NSString *selected = [dataElementos objectAtIndex:row];

lblHello.text = selected;

Exercício

  1. Crie um projeto chamado iPicker. Crie um Picker View com todos os estados do Brasil, crie um botão que quando pressionado exiba o conteúdo selecionado no Picker View.

(by Ademar Varela)