【问题标题】:Starting an iPhone app in camera mode shows just a blank screen在相机模式下启动 iPhone 应用程序只显示一个空白屏幕
【发布时间】:2012-02-22 14:22:03
【问题描述】:

我正在为 iPhone 创建一个应用程序,该应用程序应该以相机模式启动(顶部有自定义布局,但稍后会出现)。我已经创建了这个应用程序的一个版本,我可以在其中按下一个按钮,让我可以从 iPhone 相册中选择一张照片或拍摄一张新照片。

尝试在不同的地方使用相同的代码失败。

最初我有一个函数“takePicture”,我用它来启动相机

- (void)takePicture
{   
    isInCaptureMode = YES;

    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

    imagePicker.mediaTypes =
    [UIImagePickerController availableMediaTypesForSourceType:
     UIImagePickerControllerSourceTypeCamera];

    [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];

    imagePicker.videoQuality = UIImagePickerControllerQualityTypeMedium;

    // set delegate
    [imagePicker setDelegate:self];

    // Place image picker on the screen
    [self presentModalViewController:imagePicker animated:YES];

    [imagePicker release];
}

所以我对自己说“我可能可以创建一个单一的视图应用程序,将此代码放入视图控制器的 viewDidLoad 函数中,并以此为起点”。但很可惜,我一直被困在那里。当我这样做时,应用程序启动并且(如果设备有摄像头)屏幕变黑,如果设备没有摄像头(iPad 或模拟器),则应用程序崩溃。

我最初使用 Xcode 3 创建应用程序,但现在已迁移到 4.2,但原始应用程序在 4.2 中运行良好(在我做了一些调整之后)

谁能解释为什么会这样?

【问题讨论】:

  • 刚刚发现出了什么问题...我需要在“viewDidAppear”而不是“viewDidLoad”中调用我的代码。

标签: iphone ios camera


【解决方案1】:

你能试试下面的代码看看会发生什么吗?

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
  picker.sourceType = UIImagePickerControllerSourceTypeCamera;
} else {
  //you can get picture from Library is there is no camera 
  picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}

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

[picker release];

【讨论】:

  • 我计划在相机启动并运行后实施这一点。我确实尝试创建一个测试项目,我将在其中尝试您的代码。在那里我注意到了“viewDidAppear”方法。所以有一些观点!
【解决方案2】:

所以,就像我在评论中所说的那样。一旦我从“viewDidAppear”而不是“viewDidLoad”调用代码,它终于运行了......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多