ウィジェット/ビューを別の.xibファイルに配置することは機能し、特に複数のビューコントローラーから同じビューを参照する場合に適しています。
ただし、同じストーリーボード内で追加のビュー/ウィジェットを表示したい場合もあり、それは可能です。方法は次のとおりです。
IBでビューコントローラーを選択し(ビューの下の黒いバーをクリックします)、UIViewをオブジェクトライブラリから黒いバーにドラッグします。
ビューが黒いバーにある場合、それはIBの他のビューと同様にインスタンス化されますが、コードで追加するまで、ビュー階層に追加されません。必要に応じて、ビューのクラスを変更して独自のサブクラスに一致させます。
他のビューを接続するのと同じように、ビューコントローラーに接続できます。
追加されたビューがドキュメントアウトラインに表示され、アクションと参照をそこにフックすることもできます。
さて、残っている問題は、何度クリックしたりダブルクリックしたりしても、実際にはビューを表示できないことです。これは、同じストーリーボードにビューを配置する目的全体を無効にすることになります。幸い、私が知っている2つの回避策があります。
最初の回避策は、黒いバーからビューコントローラーのビューにビューをドラッグして戻し、編集し、完了したら黒いバーにドラッグして戻すことです。これは面倒ですが信頼できます。
他の回避策はもっと厄介ですが、すべてのビューを同時に表示できるので、私はそれを好みます。
オブジェクトライブラリから新しく追加したビューにUITableViewをドラッグします。
次に、UITableViewCellをそのUITableViewにドラッグします。
これを行うと、ビューがサイドで魔法のように飛び出しますが、不要なUITableViewがあります。これを0x0にサイズ変更するか、削除してもUIViewは(通常は)表示されたままです。
場合によっては、セカンダリビューがIBで再び非表示になることがあります。UITableViewを削除した場合、またはUITableViewが階層内にある場合は、UITableViewCellをクリックするだけで上記の手順を繰り返すことができ、ビューが再び表示されます。
2番目の方法はUIViewsでは機能しますが、UIToolbarsではあまり機能せず、UIButtonsでは不可能です。そのため、多くの異なるサブビューを含める必要があるときに私が見つけた最もクリーンな解決策は、単一のセカンダリUIViewをコンテナーとしてビューコントローラーにアタッチすることです。決して表示されず、すべてのセカンダリビューをそこに配置し、UITableViewCellトリックを使用してすべてを表示します。ダミーのUITableViewを0x0にサイズ変更して、それを非表示にします。これがすべて一緒に見える様子のスクリーンショットです。
xib
ストーリーボードではなく、ビューコントローラのを個別に作成しますか?