Если вы используете более новое устройство отображения сетчатки, ваш код должен учитывать разрешение, используя UIGraphicsBeginImageContextWithOptions вместо UIGraphicsBeginImageContext:
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size,YES,2.0);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(c, 0, -40); // <-- shift everything up by 40px when drawing.
[self.view.layer renderInContext:c];
UIImage* viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Это отобразит контекст изображения на сетчатке.