問題タブ [uimodalpresentationstyle]

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 に答える
88 参照

ios - UIModalPresentationCustom スタイルは、回転時にビューの幅を変更します

UIModalPresentationCustom を使用して提示しているモーダルがあります。animateTransition メソッドで、「to」View Controller のビュー フレームを幅 300 ピクセルに設定しました。モーダルを提示すると幅は問題ないのですが、画面を回転させると幅が変わってしまいます。変更された幅をオーバーライドできる、ラッチできるプロパティまたはデリゲート メソッドはありますか?

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

ios - UIModalPresentationCustom を使用してモーダル ビューの背後にオーバーレイを追加する方法

私は自分のアプリケーションでモーダルを表示する UIModalPresentationPageSheet でした。もう少しカスタマイズが必要だったので、UIModalPresentationCustom を使用することにしました。このスタイルは予想通り非常に単純ですが、無料で入手できる UIModalPresentationPageSheet のように、モーダル ウィンドウの背後に簡単にオーバーレイを追加できるかどうか疑問に思っています。ラッチできるプロパティまたはメソッドはありますか、それともコンテナー ビューに別の UIView を追加する必要がありますか?

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

uitableview - iOS8 で ModalPresentationStyle OverCurrentContext を使用すると ScrollsToTop が機能しない

likeまたはUIScrollViewのサブクラスを持つモーダル ビュー コントローラを提示し、提示されたコントローラを使用すると、ステータス バーがタップされたときに scrollview が一番上までスクロールしません。この動作は では発生しますが、 では発生しません。UIScrollViewUITableViewUICollectionViewUIModalPresentationStyleOverCurrentContextiOS8iOS7

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

ios - ポップオーバーの使用時に背景を削除して、基になるビュー コントローラーを表示する

ビュー コントローラーをモーダルで表示したいが、基になるビュー コントローラーを引き続き表示したい場合は、UIModalPresentationStyleを Over Full Screen に変更してから、ビューを に設定するbackgroundColorclearColor、アルファ値を下げた色に設定します。デフォルトの全画面表示では、下にあるコントローラーが非表示になるため、Over Full Screen または Over Current Context を使用しない限り、下に黒が表示されます。

代わりに、適応型のポップオーバー プレゼンテーション スタイルを使用したいと考えています。これにより、View Controller が iPhone のフル スクリーンで縦向きに、または iPhone 6 Plus で横向きに実行した場合はフォーム シートで表示されます。しかし、「オーバーフルスクリーン」スタイルを維持したい - 新しいView Controllerを通して基礎となるView Controllerを見ることができるようにしたい. デフォルトでは消えているため、下が黒になっている場合、どうすればそれを達成できますか?

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

ios - カスタムUIPresentationControllerでmodalPresentationCapturesStatusBarAppearance = NOを使用する方法は?

カスタム UIPresentationController があり、カスタム viewController プレゼンテーションの frameOfPresentedViewInContainerView をオーバーライドします。ステータスバーを除いて、すべて正常に動作します。

ステータス バーの外観をまったく変更したくありません。以前の外観のままにしておく必要があります。Apple ドキュメント: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instp/UIViewController/modalPresentationCapturesStatusBarAppearanceは、modalPresentationStyle が UIModalPresentationFullScreen OR modalPresentationCapturesStatusBarAppearance ではない場合、私は元気で、ステータスバーは変わらないはずです。

このコードで:

modalPresentationCapturesStatusBarAppearance が NO (0 として表示) で modalPresentationStyle が UIModalPresentationCustom (4 として表示) であっても、prefersStatusBarHidden が呼び出されていることがわかります。

明らかに、これが viewController を表示するときにステータス バーが変化する理由です。

しかし、なぜ?

これについての私の考えは、iOS は、viewController がフルスクリーンで表示されていなくても、フルスクリーンで表示されていると考えているということです。

UIPresentationController のプロパティ shouldPresentInFullscreen を発見しました。デフォルトでは YES を返します。NO を返すことはまったく役に立たないので、そのプロパティが何をするのかさえわかりません...文字通り何の効果もありません。同じことが presentationStyle プロパティにも当てはまります。変更しても効果はありません。私は、presentationStyle プロパティが viewControllers modalPresentationStyle プロパティに「リダイレクト」されることを期待していましたが、それは最初にカスタム プレゼンテーションを開始するために必要な UIModalPresentationCustom のままです。

それで、私の質問は次のとおりです。カスタムUIPresentationControllerを使用してステータスバーをそのまま維持する方法を知っている人はいますか?そして、誰かがshouldPresentInFullscreenおよびpresentationStyleプロパティを説明できますか?

ありがとうございました!:)