iOS仅拍摄背景视图的屏幕快照

时间:2013-12-05 16:11:37

标签: uiview ios7 uiimage

我有一个包含另一个UIView(自定义UI元素)的UIView(背景)。

按下按钮将向上滑动最顶部的视图以显示更多选项。

我想拍摄屏幕上所有内容的快照,但最顶层视图及其包含的项目除外。这将用于给出iOS7模糊效果,但是动画的UI也会放在屏幕截图中,这显然会破坏效果。

这是我的代码,它拍摄了整个屏幕(包括最顶层的视图)。

当前代码:

-(UIImage *)blurredSnapshot
{

    UIGraphicsBeginImageContext(self.view.frame.size);

    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

    // Get the snapshot
    UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext();

    // Now apply the blur effect using Apple's UIImageEffect category
    UIImage *blurredSnapshotImage = [snapshotImage applyLightEffect];

    UIGraphicsEndImageContext();

    return blurredSnapshotImage;

}

这甚至可能吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在为顶视图设置动画之前拍摄快照。 在GitHub和CocoaControls上有一些公共库,如FXBlurView。你应该检查一下。