quarta-feira, 26 de agosto de 2015

Canvas iOS : Faça elementos animados apenas configurando seu UIView via Interface Builder


Quando falamos em animações no desenvolvimento iOS, há uma diversidade de técnicas que foram evoluindo desde a versão inicial do iOS e posteriormente no iOS 6, iOS 7 iOS8 e agora mais recentemente no iOS9.  São transições diversas, e formas de criar animações cada vez mais complexas. 

Essa dica é de um componente que tem a proposta de fazer o animações de forma simples e prática, apenas configurando seu elemento de UI via Interface Builder.

Ela é muito útil quando você precisa de uma implementação rápida e simples de animações em sua UIVIew.

Clique no link do projeto : http://canvaspod.io/

quinta-feira, 20 de agosto de 2015

iOS : 5 dicas para começar a estudar de graça!






Já com tantos materiais e cursos de desenvolvimento IOS no mercado e agora com duas linguagens Objective-C e Swift,  vou apresentar 5 dicas para você começar a a aprender iOS de graça na internet.  

Como requisito básico você deve saber inglês, ao menos técnico e já possuir um Mac com XCode instalado. 

1 - Blogs internacionais 

2 - iTunesU - Stanford 
  • No iTunesU (dentro do iTunes) você vai encontrar o curso do iOS7 que altamente recomendo para iniciar seus estudos.
  • iOS8 com Swift já traz recursos do mais recente iOS já na nova linguagem da Apple. 

3 - Apple WWDC

4 - Em português 

 5 - Originais da Apple 



Espero que com estas dicas você possa iniciar seus estudos em IOS, e claro, se tiver muita dificuldade no inglês, há muito mais cursos em português com conteúdo pago na web.  

segunda-feira, 17 de agosto de 2015

UIDocumentPicker : Receba arquivos e conteúdos no seu aplicativo.

26 de julho de 2015 





A partir do iOS8 (e agora no iOS9) você poderá receber documentos ou arquivos com origem de outros aplicativos como iCloud Drive , DropBox e outros.  Isso é muito útil para dar ao seu app maior flexibilidade de capturar documentos externos, sem ter que ir no app de origem e compartilhar enviando-o para seu aplicativo.  

Para usar o UIDocumentPicker, é muito simples, basta incoporar na sua view os delegates :

     @interface MyViewController () <UIDocumentMenuDelegate,UIDocumentPickerDelegate>

depois, instanciar o objeto e chamar o menu : 

     UIDocumentMenuViewController *importMenu =[[UIDocumentMenuViewControlleralloc]                
      initWithDocumentTypes:@[@"public.data",@"public.composite-​contentinMode:UIDocumentPickerModeImport];
   
    importMenu.delegate = self;
    [
self presentViewController:importMenu animated:YES completion:nil];
  
Acima o que foi feito é utilizar o UIDocumentMenuViewController, que abre um menu com os aplicativos (document providers) no iOS que permitem capturar arquivos dentro deles, o modo escolhido UIDocumentPickerImport é utilizado para fazer um cópia do documento original na sandbox do seu app até que ele termine.

Uma vez feito isso, agora é receber os arquivos através destes dois delegates : 

-(void)documentMenu:(UIDocumentMenuViewController *)documentMenu didPickDocumentPicker:(UIDocumentPickerViewController *)documentPicker
{
    documentPicker.delegate = self;
    [self presentViewController:documentPicker animated:YES completion:nil];
}

-(void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url {
    NSLog(@"URL : %@",url);
    if (url) {
         
    }
}

Pronto, a url retornada refere-se ao arquivo dentro de sua sandbox, você pode salvá-lo ou enviar. Lembre-se que caso queira que ele fique permanente, deve efetuar uma cópia dele.

Por fim, para habilitar seu aplicativo a obter os arquivos do iCloud Drive, vá nas configurações do projeto no XCode em Capabilities e habilite o iCloud, a IDE vai gerar os Entitlements necessários.


MiniTuts são tutoriais rápidos, curtos e simples para introduzir novas técnicas do iOS, aprofunde seu estudo na documentação oficial da Apple.




quinta-feira, 13 de agosto de 2015

iOS : use Gifs animados no iOS com componente do FlipBoard!



O FlipBoard é um dos meus apps favoritos para iOS, principalmente no iPad. Logo que conheci ele, me impressionou bastante sua leveza e design clean na entrega dos diferentes tipos de feeds. 

A equipe do FlipBoard devido a sua necessidade de apresentar GIFs animados em uma listagem de feed no iOS, criou seu próprio componente. Como você deve saber, não é uma tarefa trivial renderizar um gif animado no iOS, principalmente, incluí-lo em uma tableview. 

Os caras do Flipboard desenvolveram um componente pensando em seu gerenciamento de memória, segundo seu artigo original, o que eles queriam como requisito era : 
     - Executar múltiplos Gifs animados ao mesmo tempo em uma velocidade comparada a do desktop. 
     - Honrar os delay dos frames dentro do GIF. 
     - Executar de forma limpa sobre pressão de memória (onde o dispositivo está exigindo memória para outras operações ao mesmo tempo) 
     - Eliminar os delays no primeiro playback (coisa que você já deve ter visto por ai ao carregar a primeira vez um GiF).

Chegamos ao FLAnimatedImage graças a uma dica do meu amigo Lucas Cypriano, que percebeu que o outro componente que estávamos usando anteriormente, estava deixando um grande leak de memória na aplicação, causando uma lentidão inesperada (sempre rode o Instrummets em seus apps, ao menos uma vez!).

Fica a dica! 




Conheça a história por trás do componente : http://engineering.flipboard.com/2014/05/animated-gif/