Autolayout и Facebook Pop
-
26-12-2019 - |
Вопрос
Есть ли в настоящее время способ использовать Facebook Pop Framework с автоматической макетом или вы должны использовать Springs и Struts?Я продолжаю читать, что это возможно, но я не знаю, что синтаксис должен быть в состоянии оживить верхнее ограничение в виду.
Решение
В этом случае вы хотите оживить NSLAYOUTCONSTRAINT, вы можете сделать следующее с POP, и оно будет оживить ограничение.
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"];
.
Основная собственность в использовании является KPoplayoutConsonaintConstant, как показано выше.Поэтому, если вы хотите сделать это на ограничениях автоматического макета, вы можете использовать это свойство ограничения.
Работа со шкалой и другими свойствами также работает с Autolayout, чтобы у вас не должно быть проблем с возможностью работы с автолаю.
Другие советы
Правильный способ реализации POP Animation с autolayout
- это инициализировать генеракодицетагкод
в SWIFT-3 код выглядит так; 'Предположим, что Self.MenufooterConStant - это эталон ограничения интернет-интерфейса на раскадровке.
if let anim = POPSpringAnimation(propertyNamed: kPOPLayoutConstraintConstant) {
anim.toValue = 142
anim.springSpeed = 20
anim.springBounciness = 15
self.menuFooterConstant.pop_add(anim, forKey: "animationForTrendfooter")
}
. Вы можете напрямую оживить ограничения.С POP просто используйте kpoplayoutconstraintConstant имя свойства.Настройте свою анимацию и добавьте его в саму ограничения.
Если вы не хотите добавлять анимацию на саму ограничения, вы должны помнить следующее:
Если вы используете правила макета на основе ограничений для управления положением ваших представлений, вы должны удалить любые ограничения, которые могут вмешиваться в анимацию как часть настройки этой анимации.Ограничения влияют на любые изменения, которые вы делаете в положение или размер вида.Они также влияют на отношения между видом и его дочерние взгляды.Если вы анимируете изменения в любом из этих элементов, вы можете удалить ограничения, внесите изменения, а затем применять все необходимы новые ограничения.
* от Apple Docs