- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self getMediaFromSource:UIImagePickerControllerSourceTypeCamera];
}
- (IBAction)TakePhoto:(id)sender {
[self getMediaFromSource:UIImagePickerControllerSourceTypeCamera];
}
- (void)getMediaFromSource:(UIImagePickerControllerSourceType)sourceType{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = sourceType;
[self presentModalViewController:picker animated:YES];
[picker release];
}
#pragma mark - UIImagePickerController delegate methods
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissModalViewControllerAnimated:YES];
[self.tabBarController setSelectedIndex:1];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissModalViewControllerAnimated:YES];
[self.tabBarController setSelectedIndex:1];
}
パート B を更新。cameraOverlayView のコード例
- (void)setupImagePicker:(UIImagePickerControllerSourceType)sourceType
{
self.imagePickerController.sourceType = sourceType;
if (sourceType == UIImagePickerControllerSourceTypeCamera)
{
// user wants to use the camera interface
//
self.imagePickerController.showsCameraControls = NO;
if ([[self.imagePickerController.cameraOverlayView subviews] count] == 0)
{
// setup our custom overlay view for the camera
//
// ensure that our custom view's frame fits within the parent frame
CGRect overlayViewFrame = self.imagePickerController.cameraOverlayView.frame;
CGRect newFrame = CGRectMake(0.0,
CGRectGetHeight(overlayViewFrame) -
self.view.frame.size.height - 10.0,
CGRectGetWidth(overlayViewFrame),
self.view.frame.size.height + 10.0);
self.view.frame = newFrame;
[self.imagePickerController.cameraOverlayView addSubview:self.view];
}
}
}
http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010196
「cameraOverlayView」で遊んで、インタラクションが意図したとおりに機能するある種の疑似ナビゲーション バーを作成することをお勧めします。
「イメージ ピッカー コントローラーをカスタマイズして、ユーザー インタラクションを自分で管理できます。これを行うには、表示するコントロールを含むオーバーレイ ビューを提供し、「静止画像または動画のキャプチャ」で説明されている方法を使用します。デフォルト コントロールに加えて、または代わりにカスタム オーバーレイ ビューを表示できます。UIImagePickerController クラスのカスタム オーバーレイ ビューは、iOS 3.1 以降で cameraOverlayView プロパティを使用して使用できます。コード例については、PhotoPicker サンプル コードを参照してください。事業。
重要 UIImagePickerController クラスは、縦向きモードのみをサポートします。このクラスはそのまま使用することを意図しており、サブクラス化はサポートしていません。このクラスのビュー階層はプライベートであり、1 つの例外を除いて変更してはなりません。カスタム ビューを cameraOverlayView プロパティに割り当て、そのビューを使用して追加情報を表示したり、カメラ インターフェイスとコード間の相互作用を管理したりできます。」
http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html