問題タブ [uipresentationcontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
205 参照

ios - presentingViewController の背後

以下のように、を使用してモーダル ビュー プレゼンテーションのカスタム トランジションを実行しようとしていUIPresentationControllerます。

ここに画像の説明を入力

次のようにプレゼンテーション ビューをスケーリングしました (内部func presentingTransitionWillBegin()):

ただし、の背景presentingViewは常にで、色を変更する適切な場所が見つかりません。

に白色のビューをcontainerView追加してからself.presentingViewController.view、そのサブビューとして追加しようとしました:

まあ、それは何とか働いた。しかし、明らかに、モーダル ビューを閉じるとクラッシュします。self.presentingViewController.viewそして、トランジションを閉じるときにこれを元に戻す場所が見つかりません!

最終的には、以下のようなものを達成したいと考えています。

ここに画像の説明を入力

0 投票する
1 に答える
1169 参照

swift - ポップオーバーとして表示される UIViewController を独自の popoverPresentationController デリゲートにすることはできますか?

以下に示すプロジェクトには、InitialViewController「Show Popover」というラベルのボタンが 1 つある があります。そのボタンがタップされると、アプリは 2 番目のビュー コントローラー ( PopoverViewController) をポップオーバーとして表示することになっています。2 番目のビュー コントローラーには、"Popover!" というラベルが付いています。

絵コンテ画像

これは、InitialViewControllerが のインスタンス化PopoverViewController、取得、popoverPresentationControllerおよび popoverPresentationController のdelegateそれ自体 (へInitialViewController) の設定を処理する場合に正常に機能します。以下に結果を示します。

InitialViewController で委譲が発生した場合のアプリの機能

InitialViewControllerただし、再利用性を最大限に高めるには、プレゼンテーション コントローラがどのように委任されるかについて何も知る必要がなければ、すばらしいことです。PopoverViewControllerが popoverPresentationController として設定できるはずだと思いますdelegateviewDidLoadまたは のviewWillAppear関数でこれを試しましたPopoverViewController。ただし、PopoverViewController以下に示すように、どちらの場合もモーダルで表示されます。

ここに画像の説明を入力

すべてのコードは と だけに含まれてInitialViewControllerPopoverViewControllerます。の失敗したバージョンで使用されるコードをInitialViewController以下に示します。

失敗し たコードをPopoverViewController以下に示します。

ポップオーバーとして表示されているビュー コントローラーを独自のデリゲートにすることは可能popoverPresentationControllerですか?

Xcode 8.0、Swift 3.1 を使用しており、ターゲットは iOS 10.0 です