私はpopoverPresentationControllerDidDismissPopover
を使うことができますが、ユーザーがポップオーバービューの外をタップしてそれを却下した場合にのみ呼び出されます。 ポップオーバーを手動で解除すると(ポップオーバーのViewControllerのself.dismissViewControllerAnimated(true, completion: nil)
)何も起こりません。ポップオーバーを検出する
2
A
答えて
1
Popover Dismiss!
ポップオーバーを検出するには、次の2つの方法があります。 1.実際に生成されたmainViewControllerでの検出は、ParentViewControllerを意味します。
パーソナル主生成class ViewController: UIViewController, UITableViewDataSource,
UITableViewDelegate, UIPopoverPresentationControllerDelegate {
としてparentViewControllerを使用
そして今popOverViewが行わ処理するために使用されるコントローラで検出するこれらの機能
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}
func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
print("Popover dismisssed")
}
を実装ストーリーボードで。
func dismiss() { self.dismiss(animated: true, completion: nil) print("DISMISSS") } @IBAction func cancelClicked(_ sender: Any) { dismiss() }
注:ストーリーボードについてあなたはさらに詳細を求めることができます。
+0
それも私のために働いた。 –
関連する問題
- 1. ポップオーバーの検出を無効にする
- 2. プログラムでポップオーバーを解除することを検出しません
- 3. iOS 9でポップオーバーが解除されたときを検出する方法
- 4. UIViewControllerをポップオーバーする方法
- 5. ポップオーバーがポップオーバーするとフォームの値が消えます
- 6. ボタンを使用してSafariポップオーバーを閉じるポップオーバー内でクリック
- 7. ポップオーバー - スウィフト
- 8. UITableViewのポップオーバー
- 9. カスタムリアクション・ブートストラップ・ポップオーバー
- 10. エンバーはアクション(ポップオーバー)
- 11. ポップオーバー内のプログレスバー
- 12. ブートストラップにポップオーバー
- 13. ポップオーバーViewcontroller on iPhone
- 14. 改行はポップオーバー
- 15. MPMoviePlayerControllerのポップオーバー
- 16. ブートストラップ:モーダルでポップオーバー
- 17. ポップオーバーのテーブルビュー
- 18. ポップオーバー内のナビゲーションコントローラ
- 19. フッター内のポップオーバー
- 20. 角2ポップオーバー
- 21. ポップオーバーからビューコントローラをリフレッシュする
- 22. ポップオーバーをツールチップ用に編集する
- 23. クリックでポップオーバーを表示するには?
- 24. UISplitViewController:ポップオーバーを表示するには?
- 25. タイトルバーをポップオーバーに追加する方法
- 26. ブートストラップのポップオーバーにCSSを適用する
- 27. iOS:ポップオーバーを解散する方法
- 28. ポップオーバーの位置を制御する
- 29. Actionsheetポップオーバーの背景trunsポップオーバーは、次を使用したIOS 9
- 30. iphoneの回転を検出するときに検出する
'popoverPresentationControllerDidDismissPopover'と' self.dismissViewControllerAnimated(true、completion:nil) 'を呼び出す場所の両方で実行して呼び出す必要があるコードを含む新しい関数をいつでも作成できます。 –
ポップオーバーの下にあるビューコントローラでコードを実行する必要があり、ポップオーバーからそのコードを実行しようとするとエラーが発生するため、最初のビューコントローラのIBOutletが参照できないため、アクティブです。私はあなたが私が何を意味するのか理解してくれることを願っています – Pixel
これは私もちょっと混乱しましたが、http://stackoverflow.com/a/32021691/708928でデリゲートのサンプルコードがこの問題を解決するために啓発され有用でした。 – Logg