iPhone相机无法从横向应用程序打开

时间:2009-08-04 06:25:48

标签: iphone camera landscape transition

我正在使用使用mapkit的sdk 3.0创建一个仅景观应用程序。我需要在我的应用程序中使用iphone相机。但是当我试图打开相机时,我收到了警告。

“无法执行全屏转换.fromViewController的视图必须位于占据整个屏幕的视图中。”

我称之为相机方法的视图是mapview,大小为480 * 320。我写了以下代码来调用相机:

UIImagePickerController *picker = [[UIImagePickerController alloc]init];
picker.delegate = self;

picker.sourceType=UIImagePickerControllerSourceTypeCamera;

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

之后我写了通常的方法:

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

但是从未调用过,因为相机永远不会打开。所以我的问题是我在这里错过了什么......?我在实际的iphone设备上测试这个应用程序,而不是在模拟器上。我在另一个应用程序中使用此代码,它工作正常。但在这里,它根本不起作用!如果您对此有任何想法,请提供帮助。

2 个答案:

答案 0 :(得分:1)

听起来警告告诉您问题:您传递给presentModalViewController的父视图需要是全屏视图。因此,不要在此代码中使用“self”,而是需要使用其他内容,例如父视图控制器。

现在,您将遇到另一个问题,因为相机控制器不喜欢横向模式,因此您可能需要在显示之前切换回纵向模式....

答案 1 :(得分:1)

将“self”替换为可能在appDelegate中声明的父ViewController。