gpt4 book ai didi

ios - 从 UIViewController 创建缩略图而不显示

转载 作者:可可西里 更新时间:2023-11-01 06:16:19 24 4
gpt4 key购买 nike

我正在制作一个 Ipad 应用程序,其中包含大约 100 个代表项目的不同 View 。为了能够在项目之间快速滚动,我正在尝试创建缩略图 View 。问题是我必须在 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 没有显示在屏幕上,因此没有调用某种绘制函数。

非常感谢任何帮助!!!

最佳答案

什么时候调用 configurePage 方法?在 ViewDidLoad 上?由于 ProjectViewController 是使用 initWithNibName 初始化的,因此可能是显示 nib 元素的原因,您可以获得它们的图像表示。我的猜测是编写一个自定义初始化器,它将项目图像作为初始化序列的一部分,或者可能测试将 configurePage 代码移动到其他 viewController 方法之一,例如 viewWillAppear。只是一个想法。

关于ios - 从 UIViewController 创建缩略图而不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com