Resultados para 'interface'

Interfaces mais atraentes no Windows Mobile

Escrito por Hildi em 13/01/10 18:40

Criar interfaces bonitas para Windows Mobile é um grande desafio, já que os componentes são um tanto limitados e a API não permite, por exemplo, o uso de imagens com transparência, label multi-line, ou até mesmo o efeito gradiente como background de algum componente. Então para fazer algo mais personalizado, é preciso criar ou modificar os componentes existentes e nem sempre isso é uma tarefa fácil.

Como tempo é dinheiro, muitas vezes modificar ou criar cada componente pode levar bastante tempo. Logo, seria interessante utilizar componentes prontos para facilitar a vida. Foi assim que descobri a Resco.net, uma empresa lá da Eslováquia que trabalha no desenvolvimento de soluções para Windows Mobile. Além de fazer aplicações e jogos, ela também desenvolve componentes para o WinMo: o Mobile Forms Toolkit. O toolkit oferece uma série de componentes, como listas, tabelas, abas, combo-box, e muitos outros, que podem ser personalizados de diversas maneiras: troca de cores, fundo gradiente, imagens, orientação e por aí vai. Além disso, ele é totalmente integrado ao Visual Studio.

Resco Mobile Forms Toolkit

A Resco disponibiliza uma versão trial que dura 30 dias. Para ter a versão paga, é preciso assinar um de seus planos. A licença é anual e cobre futuras atualizações, novos componentes e suporte. Para ver as singularidades e preços de cada plano, veja aqui.

Aqui na Mobits, baixamos a versão trial e podemos dizer que a ferramenta cumpre muito bem o que promete. Vale muito a pena! :)

Ah! Se você conhece alguma outra ferramenta semelhante, comente!

Desenhando fragmentos de interface no Interface Builder

Escrito por Felipe Barreto em 08/01/10 14:52

Quem já começou a desenvolver suas apps para iPhone deve ter passado pelo processo padrão de criar interfaces no Interface Builder: cria o arquivo XIB, vincula-o à view de algum controller e carrega este último com o método - [UIViewController initWithNibName:(NSString *)n bundle:(NSBundle *)b].

Contudo, podem existir casos onde você queira definir apenas um pedaço da interface para ser utilizado diversas vezes por um mesmo controller ou por diversos controllers diferentes. Nestes casos, aparece um novo método:

// Em NSBundle
- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

Usado da maneira mais simples, este método retornará um array das views definidas na raiz de um determinado XIB.

Vamos ao exemplo.

Exemplo de Arquivo XIB

Ao carregar o XIB acima com o seguinte código:

NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"Fragmentos" owner:nil options:nil];
UIView *cabecalho = [views objectAtIndex:0];
UIView *rodape = [views objectAtIndex:1];

o array obtido conterá somente as views Cabecalho e Rodape, pois são as que estão no nível mais alto. As outras views serão naturalmente carregadas, pois são subviews das principais.

Depois de incluir suas novas views na sua tela, o resultado final poderá ser algo como:

Tela com fragmentos de interface

Você ainda pode definir um objeto de uma classe que você tenha criado como owner do XIB. Desta maneira, poderá utilizar os recursos de ligação dinâmica que o Interface Builder fornece para ligar os elementos visuais às propriedades IBOutlet da sua classe. Para isso, basta definir a classe do seu objeto no File's Owner do arquivo XIB, configurar as ligações e carregá-lo com o comando NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"Fragmentos" owner:meuObjeto options:nil];

Desempenho

Apesar de facilitar muito no desenho de interfaces complexas, o carregamento dos XIB é naturalmente mais lento que a criação de views via código puro, portanto, em situações onde o XIB tenha de ser carregado diversas vezes em um curto espaço de tempo, deve-se avaliar o impacto sobre a performance. Um caso comum seria criar um XIB para definir a aparência da célula de uma tabela. Eu venho utilizando esse recurso constantemente nos novos projetos, mas tenho que ficar atento a tudo que posso fazer para compensar o carregamento lento como, principalmente, o reaproveitamento de células já carregadas.

Como falei acima, venho utilizando este recurso sempre que possível nos projetos e tenho aumentado muito a produtividade na criação de interfaces. Se tiver alguma dúvida sobre o funcionamento, fique a vontade para pedir ajuda.

Leia também:

Desenhando interfaces para iPhone

Escrito por Hildi em 24/11/09 16:02

Durante o desenvolvimento de projetos para iPhone, é muito importante criarmos protótipos, que num primeiro momento podem ser um simples rascunho e depois algo mais fiel ao que será implementado pelos desenvolvedores. Para isso, podemos fazer uso de algumas ferramentas criadas por designers e disponibilizadas gratuitamente. Assim, não precisamos ter o Interface Builder fazer alguns layouts. =)

iPhone GUI PSD

A Teehan+lax criou um documento PSD contendo uma variedade de elementos gráficos idênticos aos existentes no iPhone. A versão do documento já contempla elementos visuais do iPhone OS 3.0. Você pode baixar o arquivo através deste link.

iPhone GUI PSD

iPhone Mockup

Neste caso, o protótipo é construído diretamente do site, podendo simular o desenho à mão ou não. É muito útil quando queremos construir um protótipo rapidinho, só pra ter aquela ideia de como ficaria a tela. Para saber mais, acesse: http://iphonemockup.lkmc.ch/.

iPhone Mockup

Conhece alguma outra ferramenta? Comente!