私はアニメーション化する必要があるいくつかのコンポーネントがあります。私は長い間、問題なしでUIVIew.animate()
を使ってきました。しかし、この場合、コンポーネントの1つはアニメーション化されません(具体的にはpullUpViewBottomCSTR
)。アニメーションなしでビューを「ジャンプ」させるだけです(残りは期待どおりに動作します)。アニメーションはすべてのビュー(iOS)で動作しません
可能性のある説明を提供できますか(おそらく、すべてを貼り付けるためにスパムがあります)。私は非常に混乱しています。
UIView.animate(withDuration: 0.5, delay: 0.0, options: .curveEaseOut, animations: {
self.pullUpViewBottomCSTR!.constant = 0
self.mainImagePullUpBottomCSTR.constant = 0
self.obscuringFadeEffectView.alpha = 0;
self.layoutIfNeeded()
}) { (completed) in
//
}
私は、所定の位置に任意の競合する制約を持っているとは思いません。
このコードは
UIView
のコンポーネントであり、UIViewController
ではなく、このコンポーネントをviewController内に読み込んでいます。私はUIViewControllerの中にすべてのものを持っていましたが、私はそれが対応する.xibファイルと.swiftファイルに移動するまで正しく動作すると思いました。
更新:次のように
制約がもともと追加されます。私は後でパン認識器を使用して、必要に応じて制約を更新しています
self.pullUpViewBottomCSTR = parentController.view.bottomAnchor.constraint(equalTo: self.bottomAnchor)
self.pullUpViewBottomCSTR!.isActive = true;
self.pullUpViewBottomCSTR!.constant = 0
(これは、関連するかもしれない)(とイムは、それへの参照を維持する理由です)。
は() –
現在のコンポーネントがないのUIViewController は、私は次の操作を実行しようとしてきたのUIView、あるself.view.layoutIfNeededを書いてみます。 doesntは動作するようです。そして、私は私が既にsuperviewでself.layoutIfNeeded()をやっているので、私はそれをしなければならないと思います。しかし、いずれにしても、残念ながら何も変更していません:/ –
制約の初期値を確認してください(0以外)。 –