var visualEffectview = UIVisualEffectView(effect: UIBlurEffect(style: .Light)) as UIVisualEffectView
visualEffectview.frame = self.filterPanel.frame
self.mapView.addSubview(visualEffectview)
我正在尝试在地图的一部分上放置模糊效果。上面的代码使这个工作,但效果的Y坐标稍微偏移。这是因为需要进行某种形式的转换吗?
我无法弄清楚为什么效果视图与代码所暗示的filterPanel
完全不同。有什么想法吗?
箭头显示模糊开始的位置(您可以看到它的偏移量低于几个像素,应该从包含分段控件的视图的顶部开始):
答案 0 :(得分:0)
self.filterPanel和self.mapView的0,0坐标是同一点吗?
如果在两个视图中0,0与屏幕上的像素不同,那么当您将效果添加为子视图时,在添加帧之前设置帧时它将显示为偏移。
我认为您通过执行类似
的操作来纠正此问题visualEffectView.frame=
[self.filterPanel convertRect:self.filterPanel.frame toView:self.mapView];
then add it as a subview.