55

半径が変化する円を描く UIView サブクラスがあります (素敵な弾力のあるアニメーションで)。ビューは、円の大きさを決定しています。

この UIView サブクラスのフレーム サイズを変更して、アニメーション化された変更を円の半径に一致させ、これらの変更により、ビューに接続されている NSLayoutConstraints を変更する必要があります (円の端に制限されているビューが、円のサイズが変更されます)。

半径が変更されたときに実装-(CGSize)intrinsicContentSizeして呼び出すとinvalidateIntrinsicContentSize、制約を更新するように指示されることは理解していますが、変更をアニメーション化する方法がわかりませんintrinsicContentSize

invalidateIntrinsicContentSize[UIView animateWith... ブロック内から呼び出すと、レイアウトが即座に更新されます。

これは可能ですか?回避策/より良いアプローチはありますか?

4

6 に答える 6