我正在尝试将模糊效果添加到背景视图中。
这是我的背景视图。 https://github.com/martinjuhasz/MJPopupViewController/blob/master/Source/MJPopupBackgroundView.m
我相信这个想法是拍摄父视图的快照,然后为该图像添加模糊效果。
我已经看到各种方法不确定什么会起作用,什么是最好的方法。
另外我不确定在哪里创建快照。
最常见的方式可能只是拍摄快照并模糊。
您可以通过执行以下操作来拍摄快照:
+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0f);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
UIImage * snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return snapshotImage;
}
请记住,这是一种快速的iOS7 +模糊方法,因此如果您想支持较低版本的iOS,则需要使用较慢的方法detailed in this answer。
有很多方法可以实现模糊,2最受欢迎的可能是使用Apple的UIImageEffects
WWDC示例代码can be found here,或使用GPUImage
,can be found here。
Ablow link指向当前视图并以模糊效果影响背景