Насколько я знаю, нет возможности делать скриншоты в ландшафтном режиме. Изображения, снятые на iPhone, содержат информацию, называемую imageOrientation, которая затем используется для поворота UIImageView, отображающего это изображение.
Но вы должны быть в состоянии сделать снимок в портретном режиме и повернуть его на 90 градусов, прежде чем сохранить его. Я не могу попробовать прямо сейчас, но должно работать следующее:
Создайте метод для поворота и передайте UIImage в качестве аргумента.
CGSize size = sizeOfImage;
UIGraphicsBeginImageContext(size);
CGContextRotateCTM(ctx, angleInRadians); // (M_PI/2) or (3M_PI/2) depending on left/right rotation
CGContextDrawImage(UIGraphicsGetCurrentContext(),
CGRectMake(0,0,size.width, size.height),
image);
UIImage *copy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return copy;
Для сохранения в определенном месте вы можете использовать NSData, как я ответил на ваш другой вопрос ( Сохранение изображений в указанном месте )