私はこれを達成するための提案で複数の場所を読んだ。私はバックグラウンドでUIビューを追加し、それを無効にして設定し、ポップオーバーを表示した後、ビューを有効にするように設定しました。スイフト3ポップオーバー薄暗い背景
あなたはそれがうまく動作するように見えます見ることができるように:
しかし、私は二つの問題を持っています。最初のものは、ポップオーバーが提示された後です。ポップオーバーを解除するには、バックグラウンド上の任意の場所をタップすることができます。これが起こるのを防ぐためにどこにいますか? UIViewが入力をブロックすると私は考えました。
また、ポップオーバーが解除された後、画面はまだ暗いです。私は、次のことを試してみましたが、ビューが無効にセットバックされることは決してありませんので、それらのいずれもポップオーバーを却下した後にロードします。
override func viewDidAppear(_ animated: Bool) {
dimView.isHidden = true
}
override func viewWillAppear(_ animated: Bool) {
dimView.isHidden = true
}
EDIT:
は、これは私がポップオーバーを提示するために使用するコードです:
let popover = storyboard?.instantiateViewController(withIdentifier: "PopoverVC")
popover?.modalPresentationStyle = .popover
popover?.popoverPresentationController?.delegate = self as? UIPopoverPresentationControllerDelegate
popover?.popoverPresentationController?.sourceView = self.view
popover?.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0)
popover?.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
dimView.isHidden = false
self.present(popover!, animated: false)
dimView.isHidden = true in dissmissビューコントローラビューは呼び出されていないようです –
popoverVCに追加するにはどうすればいいですか?現在、メインビューコントローラのコンセント – Martheli