5

如何创建一个应用程序来启动相机并使用相机拾取的图像更新图像视图?

4

2 回答 2

1

试试这个。

在 viewDidLoad 方法中,初始化 UIImagePickerController,将其属性 sourceType 赋值为 UIImagePickerControllerSourceTypeCamera,委托为 self。

在视图控制器中定义一个按钮,在其单击事件中获取图像选择器的模式视图,例如:

[self presentModalViewController:self.picker animated:YES];

这里的picker是UIImagePickerController的对象。

接下来,实现 UIImagePickerController 的didFinishPickingMediaWithInfo委托。在此委托中,您可以将 UIImage 分配给 Dictionary 对象信息,然后将图像保存到您的本地 UIImageView 实例(其 ImageToSave 下面)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

[[picker parentViewController] dismissModalViewControllerAnimated:YES];
UIImage *img = [info objectForKey:@"UIImagePickerControllerImage"];
ImageToSave.image = img;

}

不要忘记将 UIImagePickerControllerDelegate 包含到主视图控制器的 .h 文件中。

看看这是否有效。

于 2009-09-30T05:07:46.977 回答
0

如果您考虑一下,self.view = picker.cameraOverlayView只需在您自己的上方复制一个空的透明视图!它甚至没有将它添加到屏幕上,而不是它会起作用......

相反,您需要提供选择器控制器:

[self.navigationController presentModalViewController:picker animated:YES];

然后确保实现委托调用(看起来你可能已经设置了委托)

于 2009-09-30T03:10:56.977 回答