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

Uiview iOS仅拍摄背景视图的屏幕快照,uiview,ios7,uiimage,Uiview,Ios7,Uiimage,我有一个UIView背景,其中包含另一个UIView自定义UI元素 按下按钮将向上滑动最上面的视图以显示更多选项 我想对屏幕上的所有内容进行快照,但最上面的视图及其包含的项目除外。这将用于提供iOS7模糊效果,但正在制作动画的UI也被放在屏幕截图中,这显然破坏了效果 下面是我的代码,它截取了整个屏幕的快照,包括最上面的视图 当前代码: -(UIImage *)blurredSnapshot { UIGraphicsBeginImageContext(self.view.frame.si

我有一个UIView背景,其中包含另一个UIView自定义UI元素

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

我想对屏幕上的所有内容进行快照,但最上面的视图及其包含的项目除外。这将用于提供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;

}

这可能吗?谢谢

可以在设置俯视图动画之前拍摄快照。
有一些公共图书馆,比如GitHub和CocoaControls。你应该检查一下。

这实际上是我已经在做的事情。问题是俯视图在任何时候都已经显示了一半。这其中有一个技术原因,我不想讨论,但因为它已经显示了,屏幕截图中包含了它。我不知道这是否会在视觉上结束,但你可以隐藏俯视图,设置模糊视图,然后取消隐藏俯视图。我不确定视图是否会闪烁,也不确定是否会被察觉。另一个想法是,如果背景有点静态,您可以编辑库以始终使用预保存的图像,其中不包含topview。