親UIのビュー(下のコードで使用されているUILabel)の親UIViewがあり、そのフレームは親の境界に設定されていて、autoresizingMaskは、高さ:このアニメーションIの結果親UIViewのフレーム(サイズ)をアニメーション化するときのUILabelの自動サイズ調整
[UIView animateWithDuration:1.0 animations:^{ parentView.frame = CGRectMake(0, 0, 160, 240); }];
:私は具体的には、そのサイズを親ビューのフレームをアニメーション化し、サブビューは、アニメーションの一部として、サイズを変更していことができるようにしたい
UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UILabel* childLabel = [[UILabel alloc] initWithFrame:parentView.bounds];
childLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
childLabel.textAlignment = UITextAlignmentCenter;
childLabel.text = @"Hello";
UILabelのテキストを親ビューのa視覚的に見ると、テキストが(160,240)から(80,120)の中央に移動するのが視覚的にわかります。しかし、アニメーション化する代わりに、サブビューのフレームがアニメーションの最後にあるべき値に設定されているので、アニメーションの開始時にテキストの位置がすぐにジャンプすることがわかります。
サブビューをアニメーションの一部として自動サイズ調整する方法はありますか?
これは素晴らしい情報です。 UIViewContentModeCenterは、実際に必要なもの、つまり、親ビューのフレームが縮小または拡大している間にテキストを中央に置くために必要なものに対して機能します。ありがとう。 –
偉大な!ありがとう! – Kjuly