Вы захотите сделать почти то же самое, что и в этом посте, в rotate:
CGSize size = sizeOfImage;
UIGraphicsBeginImageContext(size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextRotateCTM(ctx, angleInRadians);
CGContextDrawImage(ctx, (CGRect){{}, size}, image);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
Вам может понадобиться перевести CTM в дополнение к вращению, чтобы компенсировать центр вращения. Если вы не хотите обрезать края изображения при повороте, вы должны увеличить размер с помощью некоторого базового триггера.