私は非常に単純なタスクで奇妙な問題があります。 > A UILabelとシンプルなUIViewの - 私たちは2つのサブビューを持つ親ビューを持っている上記の例ではAutoLayoutとUILabelのサイズ変更アニメーションがデバイスの回転で正しく機能しない
|--------------------------------------|
| Parent View |
| |
||------------------------------------||
|| UILabel ||
||------------------------------------||
| |
| |
||------------------------------------||
|| UIView ||
||------------------------------------||
| |
| |
|--------------------------------------|
:
は私が問題を再現するために、非常に小さなセットアップを必要とします。イムは、上記のようなレイアウトに適用する自動レイアウトを使用して:
Constraints for UILabel:
Leading Space to superview = 0
Trailing Space to superview = 0
Fixed Height constraint (e.g. 80pt)
Top Space constraint (e.g. 50pt)
The UIView subview has the same constraint types (the values for height and top space differs).
をだから私は、このセットアップを期待するもの、私たちが先頭とスペースを末尾がゼロであることを定義し、両方のサブビューは、親の全幅を採用することです。そのため、親ビューの幅を変更すると、サブビューの幅も変更されて整列したままになります。
親ビューの寸法が200x400 ptであるとします。肖像画で私のサンプルをビルドして実行すると、すべてが正常に見えます。私が風景に回転するとき、すべてはまだよく見える。親ビューの幅とサブビューの幅さえも大きくなりました。しかし、今私は戻っ肖像画に回転するときuilabelsは、直ちにそのターゲットの幅は任意のアニメーションなしで取得します幅:
|--------------------------------------|
| Parent View |
| |
| (immediately has target size) |
| |--------------| |
| | UILabel | |
| |--------------| |
| |
| (this subview is still |
| animating its width) |
| |------------------------------| |
|-->| UIView |<--|
| |------------------------------| |
| |
| |
|--------------------------------------|
を親ビューの幅とUIViewのサブビュー幅が適切にアニメーション化されます。その奇妙な振る舞いを持つ唯一のユーラベルです。その問題を引き起こす原因を見つけることはできません。
階層と制約をプログラムで作成していますか?その場合は、translatesAutoresizingMaskIntoConstraintsをNOに設定してください。 –
あなたはこれを理解しましたか?私は同じ問題を抱えている – user18853