2014-03-07 603 views
0

我試圖捕獲我的應用程序內部的屏幕,它曾經工作只是偉大的,但現在我只得到一個模糊的圖像。這樣的:iOS屏幕截圖由於某種原因模糊

blurry screen capture

這是我的代碼:

- (UIImage *)takeScreenShotWithFrame:(CGRect)frame 
{ 
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { 
     UIGraphicsBeginImageContextWithOptions(frame.size, NO, [UIScreen mainScreen].scale); 
    } else { 
     UIGraphicsBeginImageContext(frame.size); 
    } 
    [self.view drawViewHierarchyInRect:frame afterScreenUpdates:NO]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 

我在做什麼錯?

在此先感謝!代替

+0

可能重複的[iOS的屏幕捕獲是模糊的(http://stackoverflow.com/questions/16849944/ios-screen-capture這是模糊的) –

+0

這是一個非常無用的條件。 – Desdenova

+0

您在哪些iOS版本中遇到此問題? – estemendoza

回答

2

[self.view drawViewHierarchyInRect:frame afterScreenUpdates:NO]; 

嘗試:

CGContextRef context = UIGraphicsGetCurrentContext(); 
[self.view.layer renderInContext:context]; 
+0

謝謝你,很好! –