В iOS 8 вызывается вызов UIView
[self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
приводит к 1-кратной вспышке изображения. Вы можете увидеть его в течение секунды секунды на экране. Это происходит только тогда, когда параметр afterScreenUpdates равен YES.
Это мой полный код, чтобы сделать снимок экрана:
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, sf);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
CGContextConcatCTM(ctx, [self.layer affineTransform]);
if ([self respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { // iOS 7+
[self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];
} else { // iOS 6
[self.layer renderInContext:ctx];
}
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
CGContextRestoreGState(ctx);
UIGraphicsEndImageContext();
Есть ли способ обхода?