【问题标题】:iPhone sdk - Use a custom cameraiPhone sdk - 使用自定义相机
【发布时间】:2011-03-03 13:52:58
【问题描述】:

我正在开发一个需要连续拍摄两张照片的应用。我目前正在使用 iPhone 相机,但是:

  • 我不想取消 左下角的按钮
  • 我不想预览我的图片(蓝色 按钮“使用”)。

我该怎么办?我应该自己做相机吗?我找不到只有“拍照”按钮的自定义相机的简单教程...

【问题讨论】:

标签: iphone camera overlay


【解决方案1】:

从代码创建UIImagePickerController,调整其属性,在其上添加叠加层,然后使用控制器控制叠加层上的任何内容:自定义控件、叠加图像等...

这给出了这样的东西:

self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = NO;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = YES;

// Insert the overlay
self.overlay = [[OverlayViewController alloc] initWithNibName:@"Overlay" bundle:nil];
self.overlay.pickerReference = self.picker;
self.picker.cameraOverlayView = self.overlay.view;
self.picker.delegate = self.overlay;

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

OverlayViewController 是您必须编写的控制器,以控制您添加到叠加层上的所有内容。

pickerReference 是您可以保留的属性,用于向相机发送订单。例如,您可以从 IBAction 中调用以下内容,该 IBAction 来自放置在叠加层上的 UIButton

[self.pickerReference takePicture];

【讨论】:

    【解决方案2】:

    最简单的方法是使用 UIImagePickerController 并将 showsCameraControls 设置为 NO 并在 cameraOverlayView 中设置自定义视图;这个视图可以有你需要的任何按钮。触摸时,按钮应调用图像选择器上的takePicture,完成后只需使用dismissModalViewControllerAnimated: 关闭选择器。

    【讨论】:

      猜你喜欢
      • 2011-03-17
      • 2013-01-29
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多