我創建blurEffectView這樣:從上海華卸下與gestureRecognizer
var blurEffectView: UIVisualEffectView{
let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
blurEffectView.frame = self.view.bounds
blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
return blurEffectView
}
然後一個tapGestureRecognizer添加到效果圖。
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.dismissBlurView))
self.blurEffectView.addGestureRecognizer(tapGestureRecognizer)
self.mapView.addSubview(self.blurEffectView)
這裏是駁回它的功能:
func dismissBlurView(){
blurEffectView.removeFromSuperview()
}
我顯然失去了一些東西,因爲當我在模糊視圖點擊dismissBlurView不叫。
它可能被MapView的手勢識別器覆蓋。嘗試將blurView放置在mapView上,而不是mapView的子視圖。作爲父視圖的子視圖。 – JustinM
這沒有奏效,而且我還是需要它作爲mapView的超級視圖,因爲在模糊效果視圖的頂部有另一個視圖,它是不應該模糊的父視圖的子視圖。 – Latcie
只是使用bringtofront到你的blurview –