Peek and Pop na Collection usando Swift 4.1 e xcode 9.4.1
O que é peek and pop?
O método peek and pop faz parte da tecnologia da Apple chamada 3D Touch, que engloba Peek And Pop , Quick Action entre outros. Falaremos mais profundamente de como ele funciona e explicando o seu funcionamento na aplicação de exemplo.
Como funciona?
Falando da parte fisica dos novos iphones Para tornar o 3D Touch real, a Apple implementou novos sensores atrás do vidro e integrados ao painel LCD do aparelho capazes medir a força aplicada sobre a tela. Assim, os novos iPhones conseguem identificar não só os toques na horizontal e vertical, mas também sentir a a sua profundidade.
Com o 3D Touch o iPhone será capaz de reconhecer uma gama muito maior de gestos e suportar muito mais atividades.
Ela funciona em aplicativos, permitindo que o usuário acesse as notificações sem ter que entrar na tela inicial do app(Quick Action) e promete ser bastante útil para visualizar informações sem sair da tela anterior (Peek and Pop).
Vamos fazer um exemplo de listar animes na CollectionView usando Peek and Pop.
Let`s Code
Como é sua implementação?
Criamos 3 Views gerenciadas por uma Navigation Controller, iramos chamar de MainView, PeekView e PopView. Na MainView colocamos uma CollectionView e na celula apenas uma ImageView. Na PeekView, onde irá mostrar a pré-visualização da tela pop, colocamos uma ImageView. E na PopView colocamos ImageView e textField.
Primeiramente iremos configurar a CollectionView, criamos uma classe para a CollectionView e pegamos seu IBOutlet da ImageView. Criamos uma ViewController para o Peek e outra para o Pop. Até agora nada de demais. 🧐
Agora funcionando a CollectionView , Colocamos o Seu Delegate no ViewController UICollectionViewDataSource,UICollectionViewDelegate, e implementamos suas funções para funcionar a Collection.
O numberOfItemsInSection e o cellForItemAt.E agora iremos preparar uma Segue para passar as imagens sem ser usando o 3D Touch.
Agora usando o 3D Touch, precisamos adicionar seu delegate o UIViewControllerPreviewingDelegate. Na ViewDidLoad fazemos o teste se o aparelho suporta aplicação do 3D Touch falamos qual View iremos usar.
Agora precisaremos usar duas funções para Funcionar o Peek and Pop. A primeira é responsável pela pré-visualização, nela é retornado qual a viewController será mostrado na pré-visualização, chamada de viewControllerForLocation.
Na segunda definimos a tela do Pop,e retornamos a viewcontroller no metodo viewControllerToCommit.
Link do programa completo