これは多くの小さなバグに関連しており、ステレオタイプ的に、ある人にはマイナーであると見なされ、別の人には重大であると見なされる可能性があります。
私がますます気付いているのは、すべてのフレーバー a を使用するUIView animateWithDuration:
と、ビューの複数のプロパティなど、実際には不必要に変更され、単純な非表示/表示スタイルのアニメーションなどを実行することです.
UINavigationBar が特定の回転遷移の位置に適切にアニメーション化されない、またはヘッダー ビューがフレームの更新時にステータス バーと一緒にアニメーション化されないなどのシナリオでは、親ビューのときにビューのサブレイヤーが暗黙的に異なる方法でアニメーション化される場合、物事は厄介なようです。プロパティが変更されます...
これらの多くは、ビューのターゲット プロパティ値を実際に変更しないため、管理が容易に見えるため、再検討して CAAnimations に変換しています。
簡単な例として、 を使用して[view setHidden:]
アニメーション化するか、ビューから外しますが、アニメーションの実行中、ビューは実際には既に表示または非表示になっています。
別の 1 つは、UINavigationController のビューを変換/回転/スケーリングする必要があり、それを行うために CAAnimation を使用することです。これは、UINavigationController のビューを変更すると、UINavigationBar が正しい位置に移動せず、そのいずれかが親ビューの変換プロパティ値であるためです。 .
この質問の結論として、私は行ったり来たりして、自分の状況に適した場所を見つけてきましたが、主に、これらのシナリオについて他の人がどう思うか聞きたいです。 Apple が提供したものについての洞察を得ることができ、自分のアプローチについてより良く感じることができます。
前もって感謝します。