Apple 仕様に従ってカスタム コンテナ ビューを作成しています。ストーリーボードを使用して、3 つの静的な子 UIViewControllerを接続したいと思います。ストーリーボードの UINavigationController に見られるように、ストーリーボードに接続する簡単な方法はありますか?Relationship
私の調査によると、これは不可能のようです。
Apple 仕様に従ってカスタム コンテナ ビューを作成しています。ストーリーボードを使用して、3 つの静的な子 UIViewControllerを接続したいと思います。ストーリーボードの UINavigationController に見られるように、ストーリーボードに接続する簡単な方法はありますか?Relationship
私の調査によると、これは不可能のようです。
コンテナビュー コントローラを子にリンクすることは可能です。実際、そうするのは簡単です。オブジェクト ライブラリを表示し、検索フィールドに「Container」と入力して、オブジェクト「Container view」を探します。次のようになります。
コンテナー ビューをビュー コントローラーのコンテンツ ビューにドラッグします。
次に、コンテナー ビューから、コンテナー ビューでホストする他のビュー コントローラーにコントロール ドラッグします。IB が「埋め込みセグエ」をセットアップします。親ビュー コントローラーのコンテンツ ビューが読み込まれると、埋め込みセグエが呼び出されます。埋め込みセグエは、親/子ビュー コントローラーの関係を設定し、必要なハウスキーピングを行います。簡単で無痛です。
埋め込みセグエごとに prepareForSegue メソッドが呼び出されます。他のセグエと同様に、埋め込みセグエに一意の識別子を割り当てることができます。次に、prepareForSegue でセグエ ID を使用して、子ビュー コントローラーの追加設定を行います。
埋め込みセグエを使用して、コンテナー ビューと埋め込みセグエを使用して 2 つの静的 UITableViewControllers を親に含める方法を示す github のこのプロジェクトを見てください。このプロジェクトは、親と子の VC が相互に通信するためのカスタム プロトコルを設定します。prepareForSegue メソッドでは、親は両方の子 VC へのポインターを保存し、両方の子 VC のデリゲートとして自身を設定して、子が親に通信できるようにします。
プロジェクトは次のリンクにあります: https://github.com/DuncanMC/test
コンテナ ビューを使用できます。Container View は、新しい View Controller との関係を自動的に作成します。
私はこれをしていませんが、それは興味深い問題です。ストーリーボードで子ビューコントローラーを関連付ける前に、コンテナーコントローラーで子ビューコントローラーを定義しましたか(これを行っている可能性があります-コードは表示されません)?ドキュメントからは、それがあなたがしなければならないことのように聞こえます-それはあなたがそれらをただドラッグすることができる一般的なクラスとは違うかもしれません。
iOSがイベントを子ビューコントローラーおよびそれらのコントローラーが管理するビューに適切にルーティングするには、コンテナービューコントローラーは、子のルートビューをビュー階層に追加する前に、子ビューコントローラーをそれ自体に関連付ける必要があります。
とにかく-推測...