2012-03-20 95 views
1

我不知道是否有一种方法可以截取当前视图屏幕的所有内容 - 导航栏,内容,标签栏 - 但状态栏除外,有没有办法做到这一点?以编程方式进行屏幕截图,没有状态栏

+2

我相信没有。但是,您可以截取屏幕截图然后裁剪图像。 – PengOne 2012-03-20 01:05:05

+0

[我如何拍摄UIView的屏幕截图?](http://stackoverflow.com/questions/2214957/how-do-i-take-a-screen-shot-of-a-uiview) – jtbandes 2012-03-20 14:15:21

回答

2

正如评论中所建议的那样,我所知道的最好的方法是截取屏幕截图,然后使用图形上下文参数来仅剪出您需要的部分。

检查:Adjusting size of in app screenshot

上面的问题有一个答案(由我:))裁剪出来的导航栏和使用TabBar,但你可以修改它裁剪出您所需要的任何部分。

+0

太棒了!这是我想要的。谢谢。 – tom 2012-03-20 04:12:24

0

我想你可以开始一个新的图像上下文,将主视图控制器的视图绘制到该上下文中,从该上下文获取UIImage,关闭该上下文,并最终获得主视图控制器视图的屏幕截图,它应该在你的屏幕截图中拥有你想要的一切。

+0

这就是我的,但它取决于你的视图控制器最初是如何设置的。在我的情况下,尽管屏幕上出现了最终图像,但导航栏和tabbar会错过。这就是为什么我正在寻找解决问题的“一致”方式 – tom 2012-03-20 01:47:44

+0

这很有趣。什么样的视图控制器是你的根视图控制器?此外,该部分是否显示为白色,还是应该在下面(如果有)的内容? – EmilioPelaez 2012-03-20 03:45:17

0

我不知道要明白你问什么,但采取截图:

从模拟器可以使用CMD + Shift + 3或CMD + SHIFT + 4。您可以用鼠标或按压条拖动想要拍摄屏幕截图的框架以获取完整的模拟器。 (它会将照片保存在桌面上)

从设备中,您可以截取1秒钟的屏幕截图并关闭按钮。它会将它保存到您的照片文件夹中。

相关问题