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

时间:2014-04-08 09:49:45

标签: ios screenshot

在iOS7中进行屏幕截图的最有效方法是什么。我尝试了很少的方法,但在iPad上需要大约1-1.5秒才能进行屏幕截图,我需要立即采取它。是否有任何方法可以在瞬间完成屏幕截图?

2 个答案:

答案 0 :(得分:2)

来自documentation

  

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

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

答案 1 :(得分:1)

这可能会有所帮助 -

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();