iOS 8 iPhoneでのUIPopoverPresentationControllerの利用について
2023-10-17 21:12:51
質問
誰か
UIPopoverPresentationController
は iPhone でポップオーバーを表示するために使用できるのかどうか知っていますか?Apple が iOS 8 でこの機能を追加したのは、iPad と iPhone でより統一されたプレゼンテーション コントローラーを作成するためなのでしょうか。
ベータ版からの質問/回答がOKかどうかはわかりません。その場合は削除します。
どのように解決するのですか?
デフォルトの適応的な振る舞いを上書きすることができます (
UIModalPresentationFullScreen
を使うことで、デフォルトの適応的な動作 (iPhone などのコンパクトな横長環境では
adaptivePresentationStyleForPresentationController:
メソッドを使って
UIPopoverPresentationController.delegate
.
UIPresentationController
はこのメソッドを使って新しいプレゼンテーションのスタイルを問い合わせます。この場合、単に
UIModalPresentationNone
を返すだけで
UIPopoverPresentationController
はフルスクリーンではなくポップオーバーとしてレンダリングされます。
以下は、ストーリーボードでセグエの設定を使用して、ポップオーバーの例です。
UIBarButtonItem
から"へ。
モーダルに表示
" a
UIViewController
class SomeViewController: UIViewController, UIPopoverPresentationControllerDelegate {
// override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { // swift < 3.0
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "PopoverSegue" {
if let controller = segue.destinationViewController as? UIViewController {
controller.popoverPresentationController.delegate = self
controller.preferredContentSize = CGSize(width: 320, height: 186)
}
}
}
// MARK: UIPopoverPresentationControllerDelegate
//func adaptivePresentationStyleForPresentationController(controller: UIPresentationController!) -> UIModalPresentationStyle { // swift < 3.0
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
// Return no adaptive presentation style, use default presentation behaviour
return .None
}
}
このトリックは WWDC 2014 セッション214 "iOS8におけるビューコントローラーの進化" (36:30)
関連
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] iOS 8で位置情報サービスが利用できない
-
[解決済み] UIViewControllerの上にclearColor UIViewControllerを表示する
-
[解決済み] error: Writeable atomic property cannot pair with synthesized setter/getter and the user defined setter/getter.
-
[解決済み] Swiftでクラスをプロトコルに準拠させるには?
-
[解決済み] performSelectorの使用: メソッドを呼び出すだけと比較した場合
-
[解決済み] Swift ネイティブベースクラスまたは NSObject
-
[解決済み] Objective-CでQueueを作成し、使用するにはどうすればよいですか?
-
[解決済み] Xcode リンカエラー: file too small for architecture x86_64
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】iOSでポップアップのダイアログボックスを実装するには?
-
[解決済み] RootViewControllerのスイッチングアニメーション
-
[解決済み] Objective-Cのセレクタ?
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] Swift ネイティブベースクラスまたは NSObject
-
[解決済み] AppDelegateからストーリーボード上の異なる場所で条件付きで開始する。
-
[解決済み] Objective-Cでクラスのインスタンスを@protocolにキャストする
-
[解決済み] Xcodeでプリプロセッサ・シンボルを定義する方法
-
[解決済み] 宣言されたプロパティは、対応するインスタンス変数を必要としますか?
-
[解決済み] iOSアプリケーションの最上位ビュー/ウィンドウへの参照取得