1

小さなビューと大きなビューがあり、(別のボタンで) 選択トグルとして、それらの間でアニメーションを切り替えたいと考えています。UIView トランジション ブロック メソッドを使用していますが、実際にはフリップが正しく行われています。

ただし、移行中、大きい方のビューはトリミングされ、小さい方とまったく同じサイズにカットされます。完了すると、再びフルサイズに戻りますが、ぎくしゃくしています。勝利が間近に迫っていますが、私は過去 5 時間、さまざまな順列と組み合わせで遊んでいましたが、スムーズな移行には運がありませんでした。

異なるサイズの 2 つのビュー間でフリップを切り替えることは本当に不可能ですか? 誰か助けてください!

私の1行の遷移は以下です。ivCategoryは小さいビューCGSize = (40.0f,48.0f)です。ivAvatar は大きなビューで、CGSize = (124.0f,318.0f). どちらもUIImageViewビューです。どちらも既に存在し、同じ親ビューにサブビューとして追加されています。

[UIView transitionFromView:self.ivCategory 
                    toView:self.ivAvatar
                  duration:1
                   options:UIViewAnimationOptionTransitionFlipFromRight|UIViewAnimationOptionShowHideTransitionViews
                completion:^(BOOL finished){}];
4

1 に答える 1

0

小さい方のビューを、大きい方のビューと同じサイズのコンテナー ビューに入れます。フリップ アニメーションを使用して、より大きなビューとコンテナー ビューを切り替えます。opaque を NO に設定し、コンテナ ビューに透明な背景色をインストールして、まったく表示されないようにすることができます。ただし、透明度のある不透明でないビューのアニメーション化は遅くなる可能性があるため、サポートする予定の最下位のデバイスでテストする必要があります。(3G 以上のみをサポートしています。)

于 2012-05-17T10:10:25.353 に答える