Seguem em Rápida

Conectar Controladores

Usando a tag storyboard para ligar uma série de UIViewControllers juntos, é uma questão de arrastar e soltar objetos no storyboard.

Primeiro, a exibição inicial do controlador é adicionado ao Controlador de Navegação

O seguinte GIF animado mostra como exibição de três controladores pode ser colocado em uma linha, com um simples segue adicionado entre cada um, definido como um show segue o que significa que cada controlador de visualização de slides em.

Eu nomeei o seguem moveToSecond e moveToThird entre o primeiro e o segundo modo de exibição controladores e a segunda e terceira vista controladores (respectivamente).

adicionar botões com acções

é necessário adicionar um botão para cada controlador de visualização (a fim de escrever código para arrancar o segue).

Este é um processo relativamente fácil de arrastar e largar a operação (apenas o primeiro botão é mostrado aqui)

a Movimentação de Dados: A passagem de Dados Através de uma Retribuição

é possível a passagem de dados de um controlador de visualização para outro por meio de uma segue.

mudar para o primeiro controlador de visualização dá-nos a seguinte, com a parte importante que é comentada (FirstViewController é a classe de relacionados para o primeiro controlador de visualização, como mostra o gif animado acima), e o botão de ação é expresso.

Vamos usar isso para atender e passar informações de um controlador de visualização para outro usando performSegue(withIdentifier: String, sender: Any?) ferramentas é o botão de ação.

Nós atualizamos a ação para chamar o movetosegundo segue (como indicado acima). Neste caso, não precisamos saber o remetente, então isso pode ser nulo, mas precisamos ter certeza absoluta de que o segue string está corretamente identificado. Todos sabemos que combinar cordas é uma má ideia, mas para evitá-lo você pode ver o adorável artigo escrito que eu fiz anteriormente.

mas pressionando sem correspondência de cordas, nós usamos prepare(for:sender:) para, bem, preparar para a continuidade. O método acabado parece-se com o seguinte (que é adicionado ao nosso primeiro controlador de vista):

Agora, isso depende de nós ter uma dataSent propriedade no controlador de visualização estamos visitando.

assim podemos colocar isso no bastante atrativamente chamado SecondViewController, embora seja apenas uma propriedade simples colocada dentro da classe de controle de visualização.Qual é a melhor forma de os Mostrar? Quero um GIF animado.

a Movimentação de Dados: Passar os dados de volta através de um delegado

e se você quiser mover os dados de volta do controlador de segunda vista, nós podemos querer passar os dados de volta para o primeiro controlador de vista. Uma forma de o fazer é usar a delegação.

Para fazer isso, montamos um delegado

em seguida, precisamos conformar-se com o delegado de FirstViewController com o que acabamos de imprimir a mensagem.

dentro de SecondViewController acrescentar o delegado como uma propriedade, que eu, então, escolhida para chamar durante o func viewWillDisappear(_ animated: Bool) assim, sempre que a vista é substituído, a mensagem é enviado

Há um par de coisas lá, isso aqui é um animated gif

Unwind Segue

The unwind segue gives us something rather more.

To traverse from First View Controller to Second View Controller to Third View Controller is a stepwise process. However, an unwind segue gives the ability to move from Third View Controller to First View Controller, skipping the Second View Controller entirely.

Passo na descontrair segue!

FirstViewController não precisa ser uma func unwindToFirst(_ unwindSegue: UIStoryboardSegue) função que será executada quando o storyboard move-se de volta para o FirstViewController.

The storyboard section of this by control — dragging from a button to the top-right hand button “exit”

So difficult to show! Aqui está o GIF animado

Também é possível passar dados através da transição de um modo semelhante ao descrito acima.

Crie o seu próprio personalizado, Segue

Uma razão para criar o seu próprio segue é para criar uma bela animação quando uma vista é apresentado.a minha animação? Um Fade Out (representando o nosso desvanecimento da vida, amor).

A segue que criamos é uma Segue personalizada (em vez de a seguir mostrada acima).

Dentro deste Segue Precisamos para selecionar a Classe de transição, e definir um identificador. Aqui chamamos-lhe customSegue.

Este, em seguida, usa um novo arquivo para cobrir o novoMyCustomSegue classe; eu, ao invés criativamente chamado este ficheiro MyCustomSegue.swift, que herda de UIStoryboardSegue.

a ação da segue será, bem, realizada na função executar com é sobreposta. override func perform()

Vamos perform() passo-a-passo. Para ganhar controle sobre a transição, definimos MyCustomSegue para ser o transitioningDelegate. No topo da classe, há um mantidas referência private var selfRetainer: MyCustomerSegue? = nil o que é necessário UIKit não mantém ocorrências de UIStoryboardSegue então, uma forte referência é criada para o mesmo. O estilo de apresentação é definido para .fullScreen para substituir o controlador de visualização original.

ThetransitioningDelegate provides methods that work for the presentation and dismissal. Vamos apresentar duas classes, Presenter e Dismisser para lidar com aqueles, que adota UIViewControllerAnimatedTransitioning e NSObject.

O apresentador é muito fácil escrever.

Aqui temos o Apresentador cumpre o protocolo de ter as funções func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval e func animateTransition(using transitionContext: UIViewControllerContextTransitioning).

o primeiro destes é simplesmente um tempo, 1.5 é um bom período de tempo para esta animação de desvanecimento.

A letra é a animação; por isso, o desvanecimento será para o controlador de visualização que apresenta de translúcida para opaca (ou seja, 0, 0 a 1.0).o que é isso? Queres um parque infantil com tudo incluído? Vou dar-lhe isso, então:

melhor será um Repo inteiro com o trabalho nele. Ok, isso está no fundo desta página.

conclusão

As Segues não são tão fáceis como se possa pensar, mas permitem-lhe animar a viagem do utilizador através da aplicação e enviar os dados.quem não quereria isso?

espero que este guia lhe tenha dado um empurrão na direcção certa para esta (embora divertida) forma de transferir o seu utilizador e os seus dados em torno de uma aplicação.

Deixe uma resposta

O seu endereço de email não será publicado.