The solution I proposed in the comments.
- (UIImage *)screenShot {
UIImage *frame = [UIImage imageNamed:@"frame"];
UIGraphicsBeginImageContext(frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[frame drawAtPoint:CGPointZero blendMode:kCGBlendModeOverlay alpha:1.0];
CGContextTranslateCTM(ctx, xCordinateOfScreenshotInFrame, yCordinateOfScreenshotInFrame);
[self.view.layer renderInContext:ctx];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}