Archive for abril, 2010

Apostila iPhone - Pasta Resource

domingo, abril 25th, 2010

Usando a imagem da pasta Resource no IB

Dê um duplo click no arquivo MainView.xib. Voltamos ao IB. Agora selecione o componente UIView inserido anteriormente, e na janela Inspector/Attributes, no item Image selecione a imagem que você adicionou no projeto.

figura-44


Isto foi bem simples. Está é a forma mais fácil de criar uma imagem relacionada com um resource. Podemos atribuir imagens programaticamente também, é fácil também, mas requer um pouco mais de trabalho.

Atribuindo imagens à componentes

Podemos atribuir imagens adicionadas no resource programaticamente, mas para isso não se esqueça que é pré requisito ter a imagem adicionada na pasta resource.

Para atribuir uma imagem usamos o seguintes comando:

[UIImage imageNamed:@”Green_border.jpg”];

Para fazer este comando funcionar corretamente, você precisa atribuir este comando para uma variável que esteja relacionada diretamente com o componente UIView do IB. O que isto quer dizer? Para este comando funcionar corretamente, você precisar declarar o componente UIView criado no IB no XCode e depois usar esta declaração para atribuir o comando citado. Por exemplo, vamos concordar que o componente que você criou no IB, foi declarado no XCode como “imgPicture”. Para você atribuir uma imagem diretamente para este componente, você usaria:

imgPicture.image = [UIImage imageNamed:@”Green_border.jpg”];

Para finalizar esta explicação, precisamos entender que o “image” que está após a variável imgPicture, é uma propriedade para este tipo de componente. Esta propriedade é a mesma que você usou para relacionar manualmente a imagem sem ser programaticamente.

Exercício

1. Crie um novo projeto chamado iTela. Adicione 3 imagens do tipo background no projeto. Na view principal, crie 3 botões, cada um tendo como imagem as 3 imagens adicionadas. Quando o usuário clicar em um dos botões, a aplicação deverá exibir a imagem que estava no botão selecionado em tamanho real, ou seja, na tela inteira.

(by Ademar Varela)

Apostila iPhone - Imagens na View

domingo, abril 18th, 2010

Agora vamos aprender colocar imagens nas views. Como você já deve ter percebido, se vamos mexer com interface gráfica vamos abrir o IB. Abra o projeto iPhoneHello e dê um duplo click no arquivo MainView.xib.

Inserindo o componente Imagem no IB

figura-401

Vamos inserir uma imagem de fundo na view MainView, para isso vamos arrastar o componente UIView que está na janela Library, na pasta Data Views. Click e arraste até a Main View.

Como você vai arrastar um componente novo este componente estará acima dos elementos anteriormente inseridos e como queremos colocar uma imagem de background, teremos que deslocar este componente para atrás dos demais. Para isso vamos até o menu Layout e selecionamos Send to Back após inserir a UIView na Main View.

figura-41

Após fazer isso, vamos escolher uma imagem para ser background da nossa aplicação. Antes porém, precisamos acrescentar esta imagem como resource da nossa aplicação. Feche e salve as informações do IB e retorne para o XCode.

Inserindo uma imagem no projeto

A maneira mais simples de fazer isso, é selecionar uma imagem (que tenha as dimensões de 320×480) que pode ser PNG ou JPG (para background JPG é mais recomendável) e arrastar até a pasta de Resources do projeto.

figura-42

Selecione uma imagem e arraste-a até a pasta Resource, bem tranqüilo. Antes do XCode adicionar realmente a pasta no projeto, ele irá perguntar se você deseja adicionar este elemento como parte integrante do projeto.

Para não ter problemas de referências, nós sempre vamos adicionar qualquer referência no projeto, conforme figura abaixo:

figura-43

Repare que estamos “setando” Copy items into destination group’s folder (if needed), isto fará com que todas as referências a esta imagem estarão no projeto.

Agora já inserimos o componente imagem no IB e já temos uma imagem adicionada, falta relacionarmos esta imagem com aquele componente.

(by Ademar Varela)

Apostila iPhone - Tomando Decisões II

domingo, abril 11th, 2010

switch

Outra maneira de programar decisões é utilizar este comando, sua sintaxe:

switch (expressão) {

case constante:

break;

default:

break;

}

Basicamente o switch funciona da seguinte forma: caso (case) a expressão seja igual a uma constante, a aplicação irá executar todo o código até encontrar a instrução break. A instrução default existe para garantir que caso a expressão tenha uma constante não prevista ela receberá um tratatamento.

while

Executa uma série de instruções enquanto uma condições for atendida, sua sintaxe:

while (condição) {

}

for

Assim como o while, executa uma série de instruções até que uma condição seja atendida, sua sintaxe:

for ( inicio ; condição ; incremento) {

}

(by Ademar Varela)

Apostila iPhone - Tomando Decisões

sexta-feira, abril 2nd, 2010

Agora vamos deixar nossa aplicação um pouco mais inteligente, vamos aprender como permitir que a aplicação tome decisões de acordo com uma determinada situação. Geralmente para que isto seja possível, nós utilizamos variáveis para determinar o caminho que a aplicação irá seguir.

if

Toda linguagem que se preze, tem a instrução if. Conforme o conteúdo de uma ou mais variáveis é possível permitir a aplicação decidir qual o caminho a ser seguido.

Sintaxe:

Comparação entre variáveis:

if (variavelA == variavelB) {

//faz alguma coisa;

}

Uma nota importante. Assim como a linguagem C, o ObjC considera como operador de igualdade 2 sinais de “=”. Se você usar somente 1 sinal de “=” ele tentará atribuir o conteúdo da variavelB para a variavelA.

operador ação
== igualdade
!= diferente
>= maior igual
<= menor igual
> maior
< menor

Comparação Booleana:

if (variavelC) {

//faz alguma coisa;

}

Se variavelC for TRUE, faz alguma coisa.

if (!variavelC) {

//faz alguma coisa;

}

Se variavelC for FALSE, faz alguma coisa.

Exercício

  1. Modifique o projeto iPhoneHello, para que ele permita o usuário digitar um número de 1 a 3 em uma textbox. De acordo com a escolha do usuário, ao pressionar um botão uma das 3 views criadas anteriormente deverão ser exibidas.

(by Ademar Varela)