別のUIViewをスワップして別のUIViewをスワップして、別のUIViewを追加します。私はトランジションをアニメーション化したいと思いますが、それは簡単なはずですが、問題は追加するビューにレイアウト制約を追加する必要があることです。 (追加したビュー上の制約は、私が削除しています1上のものとは異なる。)UIViewスワップとレイアウト制約のアニメーション
私は制約の変化をアニメーション化するつもりはありませんよ。ビューが正しいサイズで表示され、画面サイズによって正しいサイズが変わるように、それらは適切な位置に配置する必要があります。ビュー階層がまだ設定されていないので、アニメーションブロックに新しい制約を設定する
は明らかにクラッシュします。完成ブロックでそれらを設定するのが遅すぎる - それは追加されますが、新しいビューは間違って来て、次回にビューを更新するまで新しい制約で正しくレイアウトされません。間違っている
UIView.transition(with: containerView,
duration: 0.3,
options: .transitionCrossDissolve,
animations: {
self.containerView.addSubview(targetView)
self.currentView.removeFromSuperview()
}, completion: { _ in
self.currentView = targetView
self.setupConstraints()
})
これを回避する方法はありますか?私は何かが欠けているように感じますが、私はドキュメントでそれを見つけることができません。
あなただけのビューを隠し、その後 – Tj3n