iOS,如何在背景视图中添加模糊效果?

问题描述 投票:-2回答:2

我正在尝试将模糊效果添加到背景视图中。

这是我的背景视图。 https://github.com/martinjuhasz/MJPopupViewController/blob/master/Source/MJPopupBackgroundView.m

我相信这个想法是拍摄父视图的快照,然后为该图像添加模糊效果。

我已经看到各种方法不确定什么会起作用,什么是最好的方法。

另外我不确定在哪里创建快照。

ios objective-c cocoa-touch uiview
2个回答
1
投票

最常见的方式可能只是拍摄快照并模糊。

您可以通过执行以下操作来拍摄快照:

+ (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,或使用GPUImagecan be found here


0
投票

Ablow link指向当前视图并以模糊效果影响背景

https://stackoverflow.com/a/52374977/5233180

© www.soinside.com 2019 - 2024. All rights reserved.