gpt4 book ai didi

iphone - UIImagePickerViewController 返回的图像未显示

转载 作者:行者123 更新时间:2023-12-03 21:18:16 27 4
gpt4 key购买 nike

我编写了最简单的 iPhone 应用程序。它有一个单一的 View 窗口。该主视图包含一个 ImageView 和 2 个按钮,分别标记为“库中的图片”和“拍照”。应用程序根据所选按钮带来图像,并将其作为 UIImageView 的图像。获取图像的代码如下:

- (void) onCapturePicture:(BOOL)fromLibrary
{
UIImagePickerController *controller = [[UIImagePickerController alloc] init];
[controller setDelegate: self];
[controller setSourceType: fromLibrary ? UIImagePickerControllerSourceTypePhotoLibrary : UIImagePickerControllerSourceTypeCamera];
[controller setAllowsEditing: YES];
[self presentModalViewController: controller animated: YES];
[self setImagePickerController: controller];
}

返回图像并将其分配给 UIImageView 控件的委托(delegate)函数如下:

- (void) imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *pickedImage = [info objectForKey: UIImagePickerControllerEditedImage];

[_pictureView setImage: pickedImage];
[[self view] setNeedsDisplay];
[self dismissModalViewControllerAnimated: YES];
}

我也尝试过使用 UIImagePickerControllerOriginalImage 获得相同的结果,即:当图片来自照片库时,它会像 UIImageView 中的图像一样显示良好。当使用相机捕获图片时,即使指向返回图像的指针不为零,它也根本不会显示。如果我使用

- (void) imagePickerController:(UIImagePickerController *)picker 
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo

相反,一切都按预期工作,但文档表明它已被弃用,我想这可能是我的应用程序被拒绝的原因。

另外,我还有两个与该主题相关的问题:

  1. 从照片库中选取图片时,UIPickerController 第一次调用时需要很长时间才能显示(例如 11 秒)。有没有办法通过一些技巧来减少加载时间? (在空闲时间或其他情况下静默预加载)?

  2. 相机一打开,应用程序就会收到内存警告(已收到内存警告。级别=1)。有没有办法避免它,或者我做错了什么?这是一个带有 2 个按钮的普通应用程序。基本上我为此应用程序输入的 90% 的代码都列在这篇文章中。只要打开相机就会导致这种情况发生。我怎样才能避免这个问题?我在 UIImagePickerController 中阅读了有关内存泄漏的其他帖子,但这不适用于本例。第一次执行代码以使用相机获取图片时,我收到内存警告。

提前致谢。

最佳答案

您可能想要更改这些行:

[[self view] setNeedsDisplay];
[self dismissModalViewControllerAnimated: YES];

至:

[self dismissViewControllerAnimated:YES completion:nil];

因为我不认为您需要刷新显示。我建议你改变解雇方法只是因为我测试过它并且它有效。祝你好运。

关于iphone - UIImagePickerViewController 返回的图像未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220886/

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