1

たとえば、ナビゲーションバー、ボタン、およびそれらに関連付けられたアクションを含むビューがあります。ビューとコントローラーの一部をパッケージ化して、コードと一緒に他のビューにドラッグ アンド ドロップできるようにする方法はありますか? そしてもちろん、変更がそれを使用するすべてのページに反映される単一の場所にコードを維持します。

フレームワークとスーパークラスを作成して、プロジェクトや他のプロジェクトで共有できるようにすることで、これは可能ですか? UI ビュー コンポーネント自体のパッケージ化についても不明です。どんな経験や方向性でも大歓迎です!

4

1 に答える 1

0

これは私のペットピーブです。ビューではなく、ビュー CONTROLLER の一部をモジュール化して再利用する方法を尋ねています。

UIView と UIViewController は、まったく異なるオブジェクト ファミリです。ビュー コントローラーをビューとして参照すると、混乱が尽きることはありません。

戻って件名と質問本文を編集し、正しい用語を使用してください。

編集:

おそらく、これを行う最もクリーンな方法は、コンテナー ビューを使用してビュー コントローラーを組み合わせ、セグエを埋め込むことです。コンポーネントの各グループを独自のView Controllerにします。次に、View Controller のコンテンツを別の View Controller でホストする場合は、次の手順に従います。

  • ストーリーボードにコンポーネント ビュー コントローラーのインスタンスを作成し、必要に応じて構成します。

  • コンテナー ビューをホスティング ビュー コントローラーにドラッグし、必要な場所に配置します。(実行時に実際に配置されるように、制約を設定することを忘れないでください。)

  • コンテナー ビューから、モジュールとして追加するコンポーネント ビュー コントローラーに Control キーを押しながらドラッグします。

これを行うと、コンポーネント ビュー コントローラーは、別のビュー コントローラーにドロップするだけで独立して機能するビルディング ブロックになります。それは非常にうまく機能し、コードとビューがユニットとして動作する場所で、あなたが望むことを行います。

それだけです。ホスティング ビュー コントローラーとコンポーネント ビュー コントローラーを一緒に接続する場合は、ホスティング ビュー コントローラーの prepareForSegue メソッドにコードを追加して、ホスティング ビュー コントローラーをコンポーネント ビュー コントローラーのデリゲートとして設定し、コンポーネントへのポインターを保存できます。必要に応じて後でメッセージを送信できるように、コントローラーを表示します。

于 2015-04-28T23:43:54.730 に答える