拍摄UIView的快照,除了一些按钮

时间:2016-04-08 18:02:01

标签: ios objective-c uiview snapshot

我知道这段代码将UIView呈现为UIImage:

- (UIImage *)captureView {
    //hide controls if needed
    CGRect rect = [self.view bounds];

    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];   
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;
}

但是,如何拍摄一个视图的快照,其中包含多个UIViews,但只有一些UIViews?例如,想象Snapchat。你拍了一张照片,然后你可以根据需要添加表情符号,文字和颜料。其中每一个都是独立的UIViews。但是,当我们点击按钮发布快照时,Snapchat包括最终图像上的所有内容,除了UI按钮(如打开表情符号菜单按钮,发布按钮,保存到图库按钮,写文本按钮等)。 。这就好像这些UIButton在拍摄快照时被隐藏了,但它们并没有被隐藏起来。那么如何实现呢?我相信它们不会从每个uiview生成多个图像,而是拍摄一个快照(屏幕截图)但排除UIButton进入最终图像。有什么想法吗?

0 个答案:

没有答案