Objota O mundo orientado a objetos

Animação fadeIn com UIView

Posted on setembro 13, 2012

Posted by Pedro

Um exemplo simples para realizar a animação de um UIView.

Básicamente criamos uma instancia da Classe UIView e adicionamos ela a ViewController. Após isso aplicamos uma animação de fadein de 2.0 segundos.

Importante lembrar que esse código deve ir dentro do método - (void)viewDidLoad do ViewController

Obs: Isso é um exemplo simples, pois você pode usar diversas outras propriedades que também irá funcionar, como por exemplo: frame, alpha, transform (bastante usado em caso de animação 3D). Outras opções também podem ser adicionadas a animação, como por exemplo um seletor para quando terminar a animação, para quando iniciar a animação, EasyIn, EasyOut, transição, etc.



UIView *minhaView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)] autorelease];
minhaView.backgroundColor = [UIColor redColor];

[self.view addSubview:minhaView];

minhaView.alpha = 0.0;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0];

minhaView.alpha = 1.0;

[UIView commitAnimations];



Até a próxima galera!

Utilizando objeto UIView do framework UIkit

Posted on janeiro 6, 2012

Posted by Rodrigo Ireno

A UIView é um objeto visual genérico previsto no framework UIKit. Por tanto qualquer objeto visivel na tela é um UIView ou extende-se a esta classe.
Exemplificando abaixo existe uma implementação com o UIView.

- (void)viewDidLoad
{
 [super viewDidLoad];

 UIView * objetoVisual = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 60)];

 objetoVisual.backgroundColor = [UIColor redColor];

 [self.view addSubview:objetoVisual];

 [objetoVisual release];
}

O UIKit provê uma interface bem definida de objetos, sendo todos focados em suas respectivas funções. Como exemplo: O UIImage, responsável por carregar os dados de uma imagem na memória, e o UIImageView sendo responsável por mostrar a imagem na tela.

Com base nisso podemos concluir (a grosso modo) que todo objeto do UIKit terminado em View faz uso da interface da classe UIView, que mostra objetos na tela. Ironicamente o UIImageView não utiliza o UIView como base, pois é processado de forma diferente por ser uma simples imagem.
Um UIView pode conter "n" elementos visuais dentro dele, ou seja, outros UIView's. Abaixo segue uma implementação com o uso de SubViews (Elementos visuais dentro de outro elemento visual)


- (void)viewDidLoad
{
 [super viewDidLoad];

 UIView * objetoVisual = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 60)];
 objetoVisual.backgroundColor = [UIColor redColor];

 UIView * subElemento = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 200, 40)];
 subElemento.backgroundColor = [UIColor blueColor];

 [objetoVisual addSubview:subElemento];

 [self.view addSubview:objetoVisual];

 [objetoVisual release];
 [subElemento release];
}

Nota: É muito interessante checar a documentação, pois ela possui uma boa definição de toda a interface, sendo alguns casos exemplificados com implementações.

Terminamos por aqui, bons estudos.

WBProgressView – Barra de progresso personalizada para iPhone / iPad

Posted on janeiro 31, 2011

Posted by Pedro

Contribuindo ai para o conhecimento de vocês leitores do objota, quero apresentar para vocês a WBProgressView. Esse componente foi criado por mim para facilitar na criação de barras personalizadas de load na aplicação. Nesse POST eu vou mostrar como usar esse componente e como personalizar caso necessário.

Os arquivos que compõem esse componente são:
WBProgressView.h
WBProgressView.m
ativo-bar.png
inativo-bar.png

Para usar o componente é preciso basicamente importar a classe, informar a imagem do estado ativo e a imagem do estado inativo.
Então vamos ao exemplo:

Primeiramente crie um projeto com o nome de ProgressBar. Logo depois declare a variável dentro do .h( ProgressBarViewController.h) do nosso viewController principal:


#import <UIKit/UIKit.h>
#import "WBProgressView.h"

@interface ProgressBarViewController : UIViewController {
	WBProgressView *progress;
}

@end

Agora no arquivo .m (ProgressBarViewController.m) deixe exatamente como embaixo. Nós vamos fazer com que a barra seja atualizada a cada 1 segundo, adicionando mais 1 a cada passagem.

//Não esqueça de colocar as imagens do componente dentro do seu projeto.

#import "ProgressBarViewController.h"

@implementation ProgressBarViewController

- (void)viewDidLoad {

        [super viewDidLoad];

        progress = [[WBProgressView alloc] initWithFrame:CGRectMake(10, 10, 400, 14)];
	progress.tileActive = [UIImage imageNamed:@"ativo-bar.png"];
	progress.tileInactive = [UIImage imageNamed:@"inativo-bar.png"];
	progress.max = 20.0;
	progress.min = 5.0;
	progress.value = 5.0;

	[self.view addSubview:progress];

	[progress release];

	[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(addValue) userInfo:nil repeats:NO];

}

- (void)addValue {

	if(progress.value != 20.0){

		progress.value += 0.5;
		[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(addValue) userInfo:nil repeats:NO];

	}

}

- (void)dealloc {
    [super dealloc];
    [progress release];
}

@end

Na classe NSTimer falamos para executar um determinado método a cada 1 segundo. Na propriedade max da classe WBProgressView serve para setar qual o valor máximo que o progress irá receber e em min o valor mínimo.

Caso queira personalizar a imagem do load, é só você trocar essas imagens de ativo e inativo por uma imagem que você quer :)...

Agora é só executar o programa e ver o resultado.

Pronto!!! É apenas isso. Simples não?
Qualquer dúvida ou sugestão postem por favor.

Até a próxima.

arquivos do post

Hello world em objective-C na plataforma iPhone ou iPad

Posted on novembro 2, 2010

Posted by Pedro

Bom galera, como prometido eu vou começar com os meus artigos sobre desenvolvimento para iPhone e iPad (ou melhor iOS).

Como alguns de vocês já devem saber, a linguagem utilizada para desenvolvimento nessa plataforma é o Objective-C (linguagem derivada do C, com um desempenho surpreendente e orientada a objetos).

Para quem não conhece nada da linguagem, não se preocupe, pois no meio dos artigos vou explicar o que cada comando faz e o porque estamos utilizando os mesmos.

Como qualquer primeiro artigo, vamos fazer o clássico “Hello World”, em Objective-C já usando o Kit de desenvolvimento da Apple o UIKit.

No UIKit temos basicamente “tudo o que precisamos” para desenvolver aplicações para o iOS. Dentro desse Kit temos componentes como o UIView, que basicamente todos os componentes gráficos são derivados dessa classe.

Para iniciar nosso projeto precisamos primeiro ter um Mac em mãos (se tiver um PC com hackintosh também pode usar, porém uma hora você irá precisar de um Mac, acredite). Se você ainda não instalou o SDK (que vem com a IDE Xcode), acesse o endereço http://developer.apple.com/devcenter/ios/index.action e faça o download (precisa fazer o cadastro na Apple para fazer o download, é de graça o cadastro para o download).

Feito isso e com o Xcode já instalado, ai você pode iniciar o desenvolvimento de suas aplicações para a plataforma iOS.


Como criar um projeto no Xcode?

Para iniciar seu novo projeto, você deve clicar no ícone do Xcode e irá aparecer uma tela conforme abaixo:

Então clique em Create a new Xcode project, ao clicar nesse botão irá aparecer a tela para selecionar o template do projeto que você quer iniciar, no nosso caso vamos escolher o View-based Application que fica na caixa de seleção Application, no campo Product selecione para qual device você irá iniciar o projeto, no nosso caso você pode selecionar iPad, pois será a mesma coisa para iPhone e iPad, o que vai mudar são as configurações e tamanho de arquivos .xib (arquivos de interface gráfica que ele irá gerar), que nosso assistente irá gerar para nós.

Quando você clicar no botão Choose aparecerá para você a caixa de diálogo onde será salvo o projeto. Escolha um local e salve o projeto como o nome de HelloWorld.

Ao salvar o projeto, nosso ambiente de trabalho vai aparecer na tela para começarmos a trabalhar no nosso código, mas antes vale ressaltar alguns pontos importantes do nosso ambiente de desenvolvimento.

1 – Nessa pasta estão as classes da nossa aplicação, todas as classes criadas, por motivos de organização iremos sempre deixar aqui.

2 – Nessa pasta geralmente deixamos apenas esses arquivos mesmo, que é a classe que irá iniciar nossa aplicação e o arquivos que faz o import automático do frameworks quer serão usados em todas as classes do projeto, por padrão ele importa o UIKit e o Foundation.

3 – Na pasta Resources ficam todos os arquivos de imagem, .plist (arquivos que geralmente são usados como config da aplicação), .xib (arquivos de interface gráfica que são editados pelo Interface Builder) e arquivos de dados (XML, BD, etc.).

4 – Todos os frameworks que foram importados para a aplicação.

5 – O nome da App (executável, vamos dizer assim para os que estão familiarizado com windows) que será gerado.

6 – Na pasta Targets ficam todos os arquivos que irão fazer parte do pacote da aplicação na hora de compilar. Então quando tiver algum problema de um determinado arquivo não estiver sendo interpretado o problema pode esta nessa pasta. Eles são divididos em arquivos que serão compilados, arquivos de resource e frameworks.

7 – Ao clicar em algum arquivo, suas informações para edição ou para visualização serão mostrados aqui.


Vamos ao código

Procure o arquivo HelloWorldViewController.m e dentro desse arquivo encontre o método - (void)viewDidLoad, e dentro desse método coloque o seguinte:

[super viewDidLoad];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My first program" message:@"Hello world" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

[alert show];

[alert release];


Após isso podemos executar nosso primeiro programa em objective-C, indo no menu build e clicando em build and run e ver o resultado (você também pode executar pressionando command + Y).

Se tudo funcionou OK, ou seja, se apareceu um alert na sua tela, veja a explicação do código abaixo, se não baixe os arquivos que estão no final do post e tente executar.

Primeiro chamamos o método viewDidLoad da super classe UIViewController e logo depois alocamos e iniciamos um objeto UIAlertView com os parâmetros para o título, mensagem, delegate (ainda temos muito o que falar sobre delegate), texto para o botão cancelar e falamos que não tem outros botões passando o valor nil em otherButtonTitles.

Então pedimos para exibir chamando o método show do objeto e finalmente removemos o objeto da memória ( [alert release] ).

Bom galera, então e isso. Chegamos ao fim do nosso exemplo mais do que simples de um Hello World em Objective-c Usando o UIKit.

Espero que tenham gostado. Dúvidas reclamações e sugestões postem aqui por favor, para que assim eu possa melhorar nos seguintes post`s.

Vlwww…

arquivos do post

Links importantes para desenvolvedores iPhone / iPad

Posted on agosto 25, 2010

Posted by Pedro

Galera para quem está com dificuldades em iniciar com o desenvolvimento para iPhone / iPad segue alguns links que jugo muito importates para iniciar essa "batalha" em busca de conhecimento que de certa forma está escasso aqui no Brasil.

Digamos que 99,9% do conteúdo está em inglês, então quem não possui uma boa leitura em inglês pode jogar no tradutor do google para ler.. hehe, mas o melhor mesmo é aproveitar a leva e estudar um pouco de inglês também.

Esses são os principais links:
http://developer.apple.com/ipad/sdk/index.html - Para quem está interessado em informações do iPad

http://guides.macrumors.com/Objective-C_Tutorial - Tutorial muito simples para quem está iniciando o estudo em objective-c.

http://www.iphonedevsdk.com/forum/tags/objective-c.html -  Aqui você vai encontrar 90% dos seus problemas já resolvidos.

http://developer.apple.com/iphone/library/navigation/index.html - Todas as informações que você precisa para iniciantes e programadores avançados na plataforma.

http://webclaudio.wordpress.com/category/desenvolvimento/iphone/ - Blog simplesmente fantástico sobre desenvolvimento para iPhone (em PT-BR).

http://www.edumobile.org/iphone/category/iphone-programming-tutorials/ - Tutoriais muito bacanas. Vale a pena conferir.

Essa página será atualizada com novas referências de links para estudos constantemente. Então deixe em seus favoritos e sempre que possível olhe para ver se possui alguma novidade.

E claro, você pode acompanhar o site do objota que sempre será atualizado com novas informações e tutoriais sobre iPhone / iPad.

Obrigado pessoal, e até a próxima!

O que é o iPad? Como desenvolver aplicativos para iPhone e iPad?

Posted on julho 26, 2010

Posted by Pedro

Para quem ainda não conhece o iPad, é um dispositivo no formato de tablet produzido pela Apple. Esse dispositivo é intermediário entre um notebook e um smartphone, ele utiliza o sistema operacional iPhone OS que já conhecido pelos que usam o iPhone, esse dispositivo promete revolucionar os dispositivos móveis.

iPad

O iPad possui um design fantástico que novamente para quem está acostumado com o iPhone não é nem uma novidade no seu design e sistema operacional.

Como nós de análise, desenvolvimento, inovadores, empresários e todos os outros que irão trabalhar com esse dispositivo para criar aplicativos, vender aplicativos ou utilizar para agilizar nossas vidas não podemos deixar de ficar por dentro das novas tecnologias, eu (Pedro Lucas) nos próximos dias vou começar uma série de artigos sobre o desenvolvimento de gatgets para iPhone / iPad.

A linguagem nativa para desenvolvimento de aplicativos para o iPhone OS é o Objective-C.
Obs: Os artigos de desenvolvimento apresentados no blog serão do básico ao avançado. Iremos iniciar com a linguagem Objective-C antes de entrar no SDK do iPhone OS.

Mas antes de começar segue para vocês algumas informações técnicas do iPad:

Tamanho e peso

  • Altura: 9,56 polegadas (242,8 mm)
  • Largura: 7,47 polegadas (189,7 mm)
  • Espessura: 0,5 polegada (13,4 mm)
  • Peso: 1,5 libras (0,68 kg) - modelo Wi-Fi; 1,6 libras (0,73 kg) modelo Wi-Fi + 3G

Tela

  • Tela Multi-Touch widescreen brilhante de 9,7 polegadas (diagonal), retroiluminada por LEDs, com tecnologia IPS
  • Resolução de 1024 por 768 pixels, 132 pixels por polegada (ppp)
  • Revestimento resistente à impressão digital e oleosidade
  • Suporte a vários idiomas e caracteres simultaneamente

Capacidades, Processador, Bateria e Entada / Saída

  • Unidade de memória flash de 16GB, 32GB ou 64GB (o valor varia de acordo com o tamanho do memória escolhida).
  • Memória RAM de 256MB
  • Apple A4 de 1GHz
  • Bateria interna recarregável de polímero de lítio de 25 watts/hora
  • Até 10 horas de duração da bateria navegando no dispositivo.
  • Carga via adaptador de energia ou USB para o computador
  • Conector de 30 pinos
  • Fone de ouvido estéreo de 3,5mm
  • Alto-falante interno
  • Microfone