2

こんばんは、

CGAffineTransformScale を使用して UIView を縮小します。

[UIView animateWithDuration:0.3 animations:^{
            gridContainerView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.2, 0.2);
            gridContainerView.alpha = 0.0;
        } completion:^(BOOL finished) {
            // show UIView B
        }];

元のサイズに縮小します。

[UIView animateWithDuration:0.3 animations:^{
    gridContainerView.transform = CGAffineTransformIdentity;
    gridContainerView.alpha = 1.0;
} completion:^(BOOL finished) {
    // remove UIView B
}];

これはうまくいきます。gridContainerView は画面の中央に縮小されます。ただし、デバイスの向きを(横向きに)変更すると、中央が左下に移動します。向きを変えると、変形が画面の中央に移動しなくなりました。これを修正する唯一の方法は、gridContainerView を解放し、再割り当て/初期化することです。しかし残念ながら、これは現時点で私にとって選択肢ではありません。

どんな助けでも本当に感謝しています。

4

0 に答える 0