繁体   English   中英

iOS以编程方式获取屏幕截图

[英]iOS take screenshot programmatically

在iOS7中进行屏幕快照的最有效方法是什么? 我尝试了几种方法,但在iPad上进行屏幕拍摄大约需要1-1.5秒,因此我需要立即进行操作。 有什么方法可以瞬间截图吗?

文档

从iOS 7开始,UIView类提供了-drawViewHierarchyInRect:afterScreenUpdates方法

然后使用-drawViewHierarchyInRect:afterScreenUpdates-snapshotViewAfterScreenUpdates:方法。

这是否会帮助-

if ([[UIScreen mainScreen] bounds].size.height == 568)


    {
        size = CGSizeMake(320,500);
    }
    else{

        size = CGSizeMake(320,416);
    }


    CGRect screenrect = [[UIScreen mainScreen]bounds];

    UIGraphicsBeginImageContext(size);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [[UIColor blackColor]set];
    CGContextFillRect(ctx, screenrect);
    [self.view.layer renderInContext:ctx];

    UIImage *image1=UIGraphicsGetImageFromCurrentImageContext();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM