When you look into the documentation of "renderInContext" you can see it has some downsides when it comes to Animations and so one. Try it with this, if it isn't necessary to take a screenshot of the layer directly
- (UIImage *)screenshot {
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0);
[self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:NO];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}