問題タブ [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.
ios - UIModalPresentationCustom スタイルは、回転時にビューの幅を変更します
UIModalPresentationCustom を使用して提示しているモーダルがあります。animateTransition メソッドで、「to」View Controller のビュー フレームを幅 300 ピクセルに設定しました。モーダルを提示すると幅は問題ないのですが、画面を回転させると幅が変わってしまいます。変更された幅をオーバーライドできる、ラッチできるプロパティまたはデリゲート メソッドはありますか?
ios - UIModalPresentationCustom を使用してモーダル ビューの背後にオーバーレイを追加する方法
私は自分のアプリケーションでモーダルを表示する UIModalPresentationPageSheet でした。もう少しカスタマイズが必要だったので、UIModalPresentationCustom を使用することにしました。このスタイルは予想通り非常に単純ですが、無料で入手できる UIModalPresentationPageSheet のように、モーダル ウィンドウの背後に簡単にオーバーレイを追加できるかどうか疑問に思っています。ラッチできるプロパティまたはメソッドはありますか、それともコンテナー ビューに別の UIView を追加する必要がありますか?
uitableview - iOS8 で ModalPresentationStyle OverCurrentContext を使用すると ScrollsToTop が機能しない
likeまたはUIScrollView
のサブクラスを持つモーダル ビュー コントローラを提示し、提示されたコントローラを使用すると、ステータス バーがタップされたときに scrollview が一番上までスクロールしません。この動作は では発生しますが、 では発生しません。UIScrollView
UITableView
UICollectionView
UIModalPresentationStyleOverCurrentContext
iOS8
iOS7
ios - ポップオーバーの使用時に背景を削除して、基になるビュー コントローラーを表示する
ビュー コントローラーをモーダルで表示したいが、基になるビュー コントローラーを引き続き表示したい場合は、UIModalPresentationStyle
を Over Full Screen に変更してから、ビューを に設定するbackgroundColor
かclearColor
、アルファ値を下げた色に設定します。デフォルトの全画面表示では、下にあるコントローラーが非表示になるため、Over Full Screen または Over Current Context を使用しない限り、下に黒が表示されます。
代わりに、適応型のポップオーバー プレゼンテーション スタイルを使用したいと考えています。これにより、View Controller が iPhone のフル スクリーンで縦向きに、または iPhone 6 Plus で横向きに実行した場合はフォーム シートで表示されます。しかし、「オーバーフルスクリーン」スタイルを維持したい - 新しいView Controllerを通して基礎となるView Controllerを見ることができるようにしたい. デフォルトでは消えているため、下が黒になっている場合、どうすればそれを達成できますか?
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プロパティを説明できますか?
ありがとうございました!:)