如何拍摄整个视图的iPhone屏幕截图,包括屏幕外的部分?

Bea*_*rdo 5 iphone cocoa-touch objective-c uitableview

我有一个使用UITableView布局的应用程序.界面占用的不仅仅是屏幕,因此可以滚动到某些区域.我想要一些用于文档和征求客户反馈的整个视图(包括不可见区域)的截图.

是否有编程方式来获取整个视图的图像?我不认为设备上会有这样的方法,但也许有.

小智 6

只是粘贴我在我的应用程序中使用的一些代码.它绘制了一个图像的视图(可能缩放).也许你可以通过programmaticaly滚动表格并将图像拼接在一起或类似的东西:

+ (UIImage *)captureView: (UIView *)view inSize: (CGSize)size
{
    UIGraphicsBeginImageContext(size);
    CGSize viewSize = view.frame.size;
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextScaleCTM( context, size.width/viewSize.width, size.height/viewSize.height);

    [view.layer renderInContext: UIGraphicsGetCurrentContext()];

    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return viewImage;
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你

  • Yup,就像一个冠军,如果不是缩放,你只需使用视图的大小,并且在创建UITableView时,你可以使视图和标准宽度中的所有逻辑单元足够高. (2认同)