問題タブ [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.
ios - presentingViewController の背後
以下のように、を使用してモーダル ビュー プレゼンテーションのカスタム トランジションを実行しようとしていUIPresentationController
ます。
次のようにプレゼンテーション ビューをスケーリングしました (内部func presentingTransitionWillBegin()
):
ただし、の背景presentingView
は常に黒で、色を変更する適切な場所が見つかりません。
に白色のビューをcontainerView
追加してからself.presentingViewController.view
、そのサブビューとして追加しようとしました:
まあ、それは何とか働いた。しかし、明らかに、モーダル ビューを閉じるとクラッシュします。self.presentingViewController.view
そして、トランジションを閉じるときにこれを元に戻す場所が見つかりません!
最終的には、以下のようなものを達成したいと考えています。
swift - ポップオーバーとして表示される UIViewController を独自の popoverPresentationController デリゲートにすることはできますか?
以下に示すプロジェクトには、InitialViewController
「Show Popover」というラベルのボタンが 1 つある があります。そのボタンがタップされると、アプリは 2 番目のビュー コントローラー ( PopoverViewController
) をポップオーバーとして表示することになっています。2 番目のビュー コントローラーには、"Popover!" というラベルが付いています。
これは、InitialViewController
が のインスタンス化PopoverViewController
、取得、popoverPresentationController
および popoverPresentationController のdelegate
それ自体 (へInitialViewController
) の設定を処理する場合に正常に機能します。以下に結果を示します。
InitialViewController
ただし、再利用性を最大限に高めるには、プレゼンテーション コントローラがどのように委任されるかについて何も知る必要がなければ、すばらしいことです。PopoverViewController
が popoverPresentationController として設定できるはずだと思いますdelegate
。viewDidLoad
または のviewWillAppear
関数でこれを試しましたPopoverViewController
。ただし、PopoverViewController
以下に示すように、どちらの場合もモーダルで表示されます。
すべてのコードは と だけに含まれてInitialViewController
いPopoverViewController
ます。の失敗したバージョンで使用されるコードをInitialViewController
以下に示します。
失敗し たコードをPopoverViewController
以下に示します。
ポップオーバーとして表示されているビュー コントローラーを独自のデリゲートにすることは可能popoverPresentationController
ですか?
Xcode 8.0、Swift 3.1 を使用しており、ターゲットは iOS 10.0 です