2017-11-28 14 views
1

2つのViewControllerソリューションを作成しようとしています。ここでは、ユーザーがCollectionViewとやり取りできるようにしながら、モーダルビューコントローラがUICollectionView上に表示されます。この場合、高度なピッカーのようになり、ユーザーはレコードを保存する前にモーダルビューでプロパティを設定するアイテムを選択できます。親へのアクセスを妨げないモーダルビュー

親ビューを完全に表示できるように、表示方法と場所を表示するプレゼンテーションコントローラのセットアップがあります。私が試したことは、ユーザーがUIControllerのビューとスクロール、タップなどをやりとりすることはできません。

enter image description here

ビューのデバッグで、Iは、全画面表示に等しいフレームを有するUITransitionView参照します。 (画像を参照)私はこれが原因だと思う。これはiOSでも可能ですか?

答えて

0

提示されたフルスクリーン表示コントローラがその下のビューコントローラとやりとりすることを可能にする方法はありません。代わりに、最初のいくつかの部分でcontainercontrollerに2番目のビューコントローラを追加し、最初のVCコレクションビューフレームをそれに応じて変更して、すべてのリストを表示します。これを行うと、2つのView Controllerが連携して動作するようになります

+0

ありがとうございました。この場合、2番目のVCはUICollectionVCの子ですか? – BBruce

+0

@BBruce、はい、それは子ビューコントローラです。 –

0

モーダルビューコントローラの全体的なポイントは、画面を引き継ぎ、何か他のことをする前にユーザーが応答することです。これはあなたのプログラムを "モード"にして、ユーザが続行できるようにする前に解消する必要があります。これがモーダルダイアログの重要な理由です。

トップビューコントローラーの下にあるビューコントローラーと対話できるのであれば、もはやモーダルではありません。

あなたがしようとしていることは、ヒューマンインタフェースの観点からは間違っており、アプリケーションフレームワークではサポートされていません。あなたはデザインを考え直す必要があります。

+0

ありがとうございます。 現在のところ、AppleがiOS Mailアプリで行っていることとはまったく異なるとは思われません。これにより、ユーザーは新しいメッセージVCをスライドさせて他のメールコンテンツにアクセスすることができます。このデザインでは、選択したレコードをプレゼンテーションビューに送信するデリゲートのみを追加します。おそらくモーダルビューとプレゼンテーションコントローラは間違ったアプローチですが、私はこれがヒューマンインタフェースの観点からは間違っているとは思わないでしょう。 – BBruce

関連する問題