0

transitionFromView:toView:duration:options:completion: を利用しようとしていますが、uiview クラスの参照では、この点が混乱しています。その意味?

このメソッドは、ビュー階層内のビューのみを変更します。アプリケーションのView Controllerを変更することはありません。たとえば、このメソッドを使用してビュー コントローラーによって表示されるルート ビューを変更する場合、ビュー コントローラーを適切に更新して変更を処理する必要があります。

サンプル プロジェクトをご覧ください https://anonfiles.com/file/521cbb41b086eae987fe27eb98278aba

このプロジェクトでは、私が電話したばかりtransitionFromView:toView:duration:options:completion:で、すべてが正常に機能しており、上記の点で言及されていることは何もしませんでした。

4

1 に答える 1

1

私があなたの投稿を正しく理解していれば、特定の質問よりも Apple のドキュメントの説明を求めている可能性が高いです。

それにもかかわらず、私はあなたにこの説明をします.それがあなたの助けになることを願っています:

あなたが書く:

すべてが正常に動作しています..

それは、あなたがここでうまくやっているからです!

MVCデザイン パターン (Model-View-Controller)に従って、クラス UIViewController (「C」) と UIView (「V」) をコードで使用しています。

ビューには、オブジェクトの視覚的表現 (ラベル、ボタン、サブビューなど) が含まれ、それらの動作のロジックはありません。

ビューコントローラーは、IBAction メソッドやその他の実装可能なメソッドなどのロジックを提供します。

各 UIViewController には、ビューを含む独自の「ビュー」プロパティがあり、その動作はコントローラーによって管理されます。このビューには通常、ラベル、画像、ボタンなどの追加のビューが含まれます。それらはサブビューであり、ビューの「subviews」配列プロパティに格納されます。ところで、各ビューにはそのようなサブビュー プロパティがあります。つまり、複雑なビュー階層を実装する方法です。

あなたの状況(1つの共通のviewcontrollerによって管理される複数のサブビュー)では、メソッド

transitionFromView:toView:duration:options:completion:

アニメーションのサポートにより、「fromView」を非表示にし、「toView」を再表示します。ビュー への遷移です。ドキュメントのパラグラフは、開発者として、このメソッドは視覚的表現の変更のみを管理し、ビューコントローラーに追加の「サービス」を提供して、参加するビューをさらに管理することを準備するものです。

つまり、ビューの状態 (実際にユーザーに対話を提供するビュー) などを独自のコードで管理する必要があります。私には、あなたはこれをうまく管理しているように思えます!

より広い範囲では、iOS は UIViewController コンテナーもサポートします。子ビュー コントローラーを含めることができます (サブビューを含むビューが含まれます)。このようなアーキテクチャでは、SDK からの別の移行方法があります。

transitionFromViewController:toViewController:duration:options:animations:completion:

これにより、2 つのビュー間ではなく、2 つのビュー コントローラー間でトランジションを実装できます。

これが長すぎるテキストではなく、物事をより明確にするのに役立つことを願っています.

于 2013-07-11T07:04:42.500 に答える