Autolayout y Facebook POP
-
26-12-2019 - |
Pregunta
¿Actualmente hay una manera de usar la Facebook POP Framework con diseño automático o ¿tiene que usar resortes y puntales?Sigo leyendo que es posible, pero no sé cuál es la sintaxis para poder animar la restricción principal de una vista.
Solución
En este caso, desea animar un NSLAYOUTCONSTRIG, puede hacer lo siguiente con POP y animará la restricción. Tenga en cuenta que la PopsPringAnmation se está agregando a la restricción en sí misma .
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"];
La propiedad principal para usar es el KPOPLAYOUTCONSTRESTANTCANTANTE como se muestra arriba.Entonces, si desea hacerlo en las restricciones de diseño automático, puede usar esta propiedad de restricción.
Trabajar con escala y otras propiedades también funciona con AUTOLAYOUT para que no tenga problemas con el trabajo que funcione con AUTOLAYOUT.
Otros consejos
La forma correcta de implementar la animación pop con autolayout
es inicializar translatesAutoresizingMaskIntoConstraints
En SWIFT-3, el código se ve así; 'Supongamos que la auto.menufooterConstant es la referencia de la restricción de la UI en el guión gráfico.
if let anim = POPSpringAnimation(propertyNamed: kPOPLayoutConstraintConstant) {
anim.toValue = 142
anim.springSpeed = 20
anim.springBounciness = 15
self.menuFooterConstant.pop_add(anim, forKey: "animationForTrendfooter")
}
Puede animar directamente las restricciones.Con POP, solo use el kpoplayoutconStrixConstant, Nombre de la propiedad .Configure su animación y agréguelo a la restricción en sí.
Si no desea agregar una animación a la restricción, debe tener en cuenta lo siguiente:
Recuerde actualizar las restricciones de vista como parte de su animación
Si está utilizando reglas de diseño basadas en restricciones para administrar la posición de sus puntos de vista, debe eliminar las restricciones que puedan interferir con una animación como parte de la configuración de esa animación.Las restricciones afectan los cambios que realice en la posición o el tamaño de una vista.También afectan las relaciones entre la opinión y sus puntos de vista infantil.Si está animando los cambios en cualquiera de esos elementos, puede eliminar las restricciones, realizar el cambio y luego aplique las nuevas restricciones necesarias.
* de Apple Docs