iOS9截图没有显示的TabBar
问题描述:
我用下面的代码来捕捉整个屏幕的截图,包括状态栏和的TabBar:iOS9截图没有显示的TabBar
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale);
[self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:NO];
UIImage *imageNew = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(imageNew, nil, nil, nil);
它吸引了一切,除了状态栏和的TabBar
答
尝试下面的代码。
CALayer *layer = [[UIApplication sharedApplication] keyWindow].layer;
CGFloat scale = [UIScreen mainScreen].scale;
UIGraphicsBeginImageContextWithOptions(layer.frame.size, NO, scale);
[layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil);
我测试我的应用程序,它需要的的TabBar截图。
希望它适合你。
+0
不,我有几个动态创建的图层,如果我起诉这种方法,将不会显示。 – Maysam
我不知道什么“自我”就在这里,但我非常怀疑它包含状态栏或标签栏。它可能只是一个视图控制器,因此self.view是视图本身。 – Eiko
'self.view'是指主视图,不是吗? – Maysam
它指的是“自我”的观点,无论如何。只有你知道。但它最有可能不是整个屏幕。 – Eiko