iphone - 捕获包含状态栏的 iPhone 屏幕?

标签 iphone objective-c screenshot

我正在寻找一种在包含顶部状态栏的 iPhone 上捕获屏幕截图的方法,我目前正在使用以下代码:

    UIGraphicsBeginImageContext(self.view.bounds.size); //self.view.window.frame.size
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

上面的代码成功截取了 iPhone UIView 的屏幕截图,但不包括顶部状态栏(取而代之的只是一个空白的 20px 空间)。

最佳答案

从 iOS 7 开始,您可以不使用私有(private) API 使用

UIView *screenshotView = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO];

看我对这个问题的回答:

Moving status bar in iOS 7

关于iphone - 捕获包含状态栏的 iPhone 屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291110/

相关文章:

ios - 将 NSValue 转换回存储在其中的结构类型?

objective-c - 根据包含的文本设置 UILabel 的行数 - Objective C 和/或 Swift

iphone - 将音频从 iPhone 传输到浏览器。有想法吗?

java - 使用鼠标选择要捕获的区域

ios - 像 Confide 一样禁用屏幕截图

javascript - 如何可靠地实时重建 DOM 以进行协同浏览(镜像网页使用)

iphone - 在 iPhone 上将声音录制为 WAV

ios - Swift 3 上传图片到 Parse Server

ios - 如何从其他帐户在传输的应用程序上上传新版本,可能会丢失钥匙串(keychain)访问权限

iphone - 单个 View 中的多个警报 View ?