私のアプリケーションでは、ユーザーがオブジェクトを作成するための情報を入力するビューコントローラがあります。このビューの上部にはタブバーがあり、下部にはユーザーがオブジェクトを作成/保存するためのボタンがあります。これらの2つのビューの間には、ユーザーがオブジェクトの情報(基本的にオブジェクトのフォーム)を入力するテキストフィールド、ラベル、その他のいくつかの要素があります。iOSストーリーボードコンテンツを表示するスクロール表示
私は今、風景モードをサポートするだけでなく、このビューコントローラにさらにいくつかのフォームを追加しようとしています。小さなデバイスに問題があり、ランドスケープでフォーム要素やテキストフィールドのすべてが収まりません。
私はこれを解決するためにスクロールビューを使用しようとしています。私はthis Stack Overflow answerを使って、テストプロジェクトでスクロールビューを操作しました(実際のプロジェクトにコンセプトを移植する前に)。私はその方法を使用して、画面の一番下にあるボタンを固定できない場合
だけ問題があります。これを解決するために、メインビューコントローラ(ビューコントローラA)の内部にコンテナビューを作成しました。そのコンテナビューは、スクロールビューと内容を格納するビューコントローラ(ビューコントローラB)にマップされます。ビューコントローラAのコンテナビューのすぐ下に、作成/保存ボタンを追加することができました。それはデザインの観点からは完全に機能するようです。しかし、コンテンツは、作成/保存ボタンとは別のビューコントローラにあるので、ユーザーがテキストフィールドに入力した内容や内容を実際には取得できません。
このような状況を処理する最善の方法は何ですか?コンテナビューを実際に使用するのは本当にここで最善の方法ですか?これらの入力をテキストフィールドからメインビューコントローラに戻す簡単な方法はありますか?
可能であれば、私は可能性としてストーリーボードに設計作業の多くを維持したいと思います。 Swiftにビューとデザイン要素を追加することが最後の手段になります。しかし、私はかなりのコードを使用して、そのデータをメインのView Controllerに戻す必要があることを確信していますが、これは完全にOKです。
私が理解しているように、BはAの子ビューコントローラですか?それが正しい場合は、あなたのコード内で子供として追加しているかどうか教えてください。 –
@AndriyGordiychuk私は通常のデフォルトのビューコントローラ(ビューコントローラA)を持っていました。私はコンテナのビューをデフォルトのビューコントローラにドラッグしました。ビューコントローラAの内部にビューを作成し、新しいビューコントローラ(ビューコントローラB)を作成しました。これは、コードなしですべてストーリーボードで行われました。ビューコントローラBの内部には、スクロールビューと内容とそのすべてがあります。内部のビューアコントローラAコンテナビュー(ビューコントローラB、いくつかの埋め込みセグなど)と、下部に作成/保存ボタンがあります。 –
@AndriyGordiychukそれが意味をなさないかどうか教えてください。 –