【问题标题】:iPhone camera can't open from landscape applicationiPhone 相机无法从横向应用程序中打开
【发布时间】:2009-08-04 06:25:47
【问题描述】:

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

“无法进行全屏转换。fromViewController 的视图必须在占据全屏的视图内。”

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

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 设备上测试这个应用程序,而不是在模拟器上。我在另一个应用程序中使用过这段代码,它工作正常。但是在这里,它根本不起作用!如果您对此有任何想法,请提供帮助..

【问题讨论】:

    标签: iphone camera landscape transition


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-28
        • 2015-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多