Я пытаюсь визуализировать представление UIViewController в памяти (но не в иерархии) в буфере изображений в памяти, чтобы я мог сделать некоторые интересные переходные анимации. Однако, когда я рендерим представление UIViewController в этот буфер, он всегда рендерится так, как будто контроллер находится в книжной ориентации, независимо от ориентации остальной части приложения. Как мне включить этот контроллер в?
Мой код в RootViewController выглядит следующим образом:
MyUIViewController* controller = [[MyUIViewController alloc] init];
int width = self.view.frame.size.width;
int height = self.view.frame.size.height;
int bitmapBytesPerRow = width * 4;
unsigned char *offscreenData = calloc(bitmapBytesPerRow * height, sizeof(unsigned char));
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef offscreenContext = CGBitmapContextCreate(offscreenData, width, height, 8, bitmapBytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(offscreenContext, 0.0f, height);
CGContextScaleCTM(offscreenContext, 1.0f, -1.0f);
[(CALayer*)[controller.view layer] renderInContext:offscreenContext];
В этот момент содержимое буферов внеэкранной памяти является портретно-ориентированным, даже когда окно находится в альбомной ориентации.
Идеи