Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS 7 Custom Transition: Como transformar a sua...

Salmo Junior
September 27, 2014

iOS 7 Custom Transition: Como transformar a sua app

Apresentação feita no 2º Mobile Day Campinas: http://www.ciandt.com/card/2-mobile-day

Salmo Junior

September 27, 2014
Tweet

More Decks by Salmo Junior

Other Decks in Technology

Transcript

  1. Quem sou eu? Formado em Ciência da Computação pelo Unifran

    em 2011. Pós-graduado pela Uni-FACEF em Gestão de Desenvolvimento de Software para Web e Mobile em 2013. Certificado PSM I - Scrum.org 4 Anos de experiência com desenvolvimento mobile. Atualmente sou engenheiro de software mobile na CI&T.
  2. Antes do iOS7 já era possível fazer transições customizadas, mas

    não havia suporte nativo, o que gerava: • Grande quantidade de código. • Dificuldade de reaproveitamento de código. • Muito tempo e trabalho para criar transições • Dificuldade de criar transições com integração em controladores de navegação nativos.
  3. Com o iOS7 fazer transições customizadas passou a ter suporte

    nativo, gerando: • Flexibilidade • Agilidade • Fácil manutenção • Maior liberdade • ViewControllers limpas.
  4. Elas são divididas basicamente por 5 partes Animation Controllers Interaction

    Controllers Transitioning Delegates Transitioning Contexts Transiton Coordinators 1 2 3 4 5
  5. Toda Custom Transition envolve 3 elementos • To ViewController •

    From ViewController • Um controller de animação
  6. Para cada tipo de Controller de hierarquia (Navigation, TabBar, Modal,

    Child) a transição implementa um protocolo diferente, o que as vezes pode parecer meio confuso!
  7. Para exibir um modal com transição customizada, é necessário implementar

    os seguintes protocolos: • UIViewControllerTransitioningDelegate • UIViewControllerAnimatedTransitioning • UIViewControllerContextTransitioning
  8. A ViewController que implementa este protocolo é responsável por controlar

    e gerenciar a transição, passando para a transição a sua nova animação. UIViewControllerTransitioningDelegate
  9. Protocolo responsável por informar qual a transição a ser usada

    e qual o tempo da animação. UIViewControllerAnimatedTransitioning
  10. Responsável por conter os objetos como: • ToViewController • FromViewController

    • Container View *Ao final da animação é obrigatório dizer ao contexto que a animação terminou. UIViewControllerContextTransitioning
  11. Dica Para quem gostou e quiser praticar mais, as animações

    podem ser feitas usando UIDynamics, outro recurso bem legal do iOS7.