質問

自動レイアウトで

役に立ちましたか?

解決

この場合は、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"];
.

使用する主要なプロパティは、上記のようにkpoplayoutConstraintConstantです。そのため、自動レイアウトの制約でそれを実行したい場合は、この制約プロパティを使用できます。

スケールやその他のプロパティを使用すると、AutoLayoutでも機能しますので、POPをAutoLayoutで作業することに問題がありません。

他のヒント

POPアニメーションをautolayoutで実装するための適切な方法は、translatesAutoresizingMaskIntoConstraints

を初期化することです。

SWIFT-3では、コードはこんな感じです。self.menufooterConstantがストーリーボード上のUI制約の参照であると仮定します。

        if let anim = POPSpringAnimation(propertyNamed: kPOPLayoutConstraintConstant) {
        anim.toValue = 142
        anim.springSpeed = 20
        anim.springBounciness = 15
        self.menuFooterConstant.pop_add(anim, forKey: "animationForTrendfooter")

    }
.

制約を直接アニメートすることができます。POPを使用すると、 kpoplayoutConstraintConstant プロパティ名を使用するだけです。アニメーションを設定して、制約自体に追加します。

制約自体にアニメーションを追加したくない場合は、次の点に注意してください。

あなたのアニメーションの一部としてビュー制約を更新することを忘れないでください

制約ベースのレイアウト規則を使用してビューの位置を管理する場合は、そのアニメーションを設定する部分としてアニメーションを妨げる可能性のある制約を削除する必要があります。制約は、ビューの位置やサイズに加える変更に影響します。それらはまた、ビューとその子ビューの関係に影響を与えます。これらの項目のいずれかに変更をアニメート化している場合は、制約を削除し、変更を加えてから、必要な新しい制約が必要なものであれば適用できます。

*からのDOCS

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top