我正在制作一个 Ipad 应用程序,它包含大约 100 个代表项目的不同视图。为了能够在项目之间快速滚动,我正在尝试创建一个缩略图视图。问题是我必须在 UIViewController 本身显示在屏幕上之前制作缩略图。
目前我正在使用这段代码:
ProjectViewController2 * page2 = [[ProjectViewController2 alloc]initWithNibName:@"ProjectViewController2" bundle:nil displayRightArrow:FALSE media:nil];
[page2 setMyMedia:media];
[page2 configurePage];
CGSize size = [page2.view bounds].size;
UIGraphicsBeginImageContext(size);
[[page2.view layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
NSString * filePath= [NSHomeDirectory() stringByAppendingFormat:@"/Documents/project/%@", [media fileName]];
[UIImageJPEGRepresentation(newImage, 1.0) writeToFile:filePath atomically:TRUE];
UIGraphicsEndImageContext();
这行得通,我从 UIViewController 获得了一个屏幕截图,但没有主图像。这些图像不是在 NIB 文件中设置的,而是在 configurePage 函数中设置的。在 NIB 文件中设置的背景颜色和菜单栏在缩略图中可见。
我怀疑我没有看到图像,因为 UIViewController 没有显示在屏幕上,因此没有调用某种绘图函数。
任何帮助都非常感谢!
斯蒂金