[解決済み] 提示されたビューコントローラを対話的に終了させないようにする
2022-04-24 09:42:39
質問
iOS 13
の新しいデザインを導入しています。
modalPresentationStyle
.pageSheet
(およびその兄弟である
.formSheet
) を使って、モーダル表示のビューコントローラーを作成することができます。
...そして、提示されたビューコントローラを下にスライドさせることで、これらのシートを無効にすることができます。 (対話的解除) . 新しい機能であるPull-to-Dismissは非常に便利ですが、必ずしも望ましいとは限りません。
質問です。 インタラクティブディザスターをオフにするにはどうすればよいですか? - プレゼンテーションのスタイルはそのままにすることを念頭に置いてください。
解決方法は?
オプション1:
viewController.isModalInPresentation = true
(無効な対話型
.pageSheet
はこのように動作します)。
-
iOS 13になってから。
UIViewController
という新しいプロパティが含まれています。isModalInPresentation
に設定する必要があります。true
を使用すると、対話型解除を防ぐことができます。 -
ビューコントローラーの境界外のイベントは基本的に無視されます。自動スタイルだけでなく、以下のようなプレゼンテーションスタイルも使用している場合は、その点に注意してください。
.popover
などがあります。 -
このプロパティは
false
をデフォルトで使用します。
から 公式ドキュメント : もし
true
UIKit はビューコントローラの境界外のイベントを無視し、画面上にあるビューコントローラを対話的に終了させないようにします。
オプション2:
func presentationControllerShouldDismiss(_ presentationController: UIPresentationController) -> Bool {
return false
}
-
iOS 13から。
UIAdaptivePresentationControllerDelegate
という新しいメソッドが含まれています。presentationControllerShouldDismiss
. -
このメソッドは、提示されたビューコントローラがプログラムによって解除されない場合にのみ呼び出され、提示されたビューコントローラの
isModalInPresentation
プロパティにfalse
.
ヒント presentationController の delegate を指定するのを忘れないようにしましょう.
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] iOSシミュレータでスクリーンショットを撮る
-
[解決済み] iOS - UITextFieldの外側をタッチするとキーボードが外れる。
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] SwiftでiOSキーボードを任意の場所でタッチして閉じる
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] ぼかしの入ったオーバーレイビューの作成
-
[解決済み] UIViewControllerの上にclearColor UIViewControllerを表示する
最新
-
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コンパイルポッドでエラー CocoaPods could not find compatible versions for pod "XXXXX" が報告される。
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] UITextViewのプレースホルダー
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] UITableViewCell、スワイプ時に削除ボタンを表示させる
-
[解決済み] テキストフィールドを移動する方法(次へボタン/完了ボタン)
-
[解決済み] NSNotificationCenterのaddObserver in Swift
-
[解決済み] Swiftの配列を文字列に変換するには?