0
TestViewController
と呼ばれるメインビューコントローラがあり、ボタンをタップするとポップオーバービューコントローラが開きます。バックグラウンドをタップすると、無効にしたいポップオーバーが解除されます。ポップオーバービューコントローラにこのコードがあり、実行する必要がありますが実行されていません。ポップオーバーを無効にする背景でタップスウィフト
extension TestViewController: UIPopoverPresentationControllerDelegate {
func popoverPresentationControllerShouldDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
print ("TEST") //This does not show up in console
return false
}
}
EDIT:
は、これは私がポップオーバーを開くために使用するコードです。
let popover = storyboard?.instantiateViewController(withIdentifier: "PopoverVC") as! PopOverViewController
popover.modalPresentationStyle = .popover
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)
popoverPresentationController?.passthroughViews = nil
popover.dimView2 = self.dimView2
dimView2.isHidden = false
self.present(popover, animated: false)
}
デリゲートを設定しましたか?コードを投稿 – Bilal
@Bilal私の質問が更新されました。 – Martheli
@Bilalあなたの権利は、 'popover.popoverPresentationController?.delegate = self as?を追加するのを忘れましたか? UIPopoverPresentationControllerDelegate'。それを答えとして作成すると、私はあなたに投票します。 – Martheli