Autoformatação e Facebook Pop
-
26-12-2019 - |
Pergunta
Existe atualmente uma forma de utilizar o Facebook Pop quadro com o layout automático, ou você tem para usar molas e amortecedores?Eu continuo a leitura de que é possível, mas eu não sei o que é a sintaxe para ser capaz de animar uma vista de topo da restrição.
Solução
Neste caso, você deseja animar um NSLayoutConstraint você pode fazer o seguinte com o POP e vai animar a restrição. Observe que o POPSpringAnimation está sendo adicionada para a restrição do próprio.
NSLayoutConstraint *constraint = // this is an NSLayoutConstraint that is applied to some view
POPSpringAnimation *layoutAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayoutConstraintConstant];
layoutAnimation.springSpeed = 20.0f;
layoutAnimation.springBounciness = 15.0f;
layoutAnimation.toValue = @(value to go too);
[constraint pop_addAnimation:layoutAnimation forKey:@"detailsContainerWidthAnimate"];
A principal propriedade é o kPOPLayoutConstraintConstant como mostrado acima.Então, se você quiser fazê-lo no layout automático restrições que você pode usar essa restrição de propriedade.
Trabalhar com escala e outras propriedades também funciona com o esquema automático para você não deverá ter problemas com a obtenção de POP para trabalhar com AutoLayout.
Outras dicas
A forma adequada para implementar pop animação com autolayout
é inicializar translatesAutoresizingMaskIntoConstraints
Na Swift-3 o código tenha esta aparência;' Suponha que eu.menuFooterConstant é a referência de INTERFACE de usuário restrição no Storyboard.
if let anim = POPSpringAnimation(propertyNamed: kPOPLayoutConstraintConstant) {
anim.toValue = 142
anim.springSpeed = 20
anim.springBounciness = 15
self.menuFooterConstant.pop_add(anim, forKey: "animationForTrendfooter")
}
Você pode animar diretamente as restrições.Com Pop apenas use o nome kpoplayoutsintesconstant .Configure sua animação e adicione-a à própria restrição.
Se você não quiser adicionar uma animação à própria restrição, você deve ter em mente o seguinte:
Lembre-se de atualizar as restrições de visualização como parte de sua animação
Se você estiver usando regras de layout baseadas em restrição para gerenciar a posição de suas visualizações, você deve remover quaisquer restrições que possam interferir com uma animação como parte de configurar essa animação.As restrições afetam quaisquer alterações feitas para a posição ou tamanho de uma exibição.Eles também afetam as relações entre a visão e suas vistas para crianças.Se você estiver animando alterações em qualquer um desses itens, poderá remover as restrições, fazer a alteração e aplicar quaisquer restrições novas.
* do Apple docs