カメラビューの上にビューを配置する

Image


方法


ImagePickerControllerのもつcameraOverlayViewに表示したいビューを登録することで、カメラビューの上に オーバーレイ表示することが出来ます。 IB側で設定したビューをviewDidLoadの中で指定すると、ビュー領域が確保されていないためエラーとなるので注意。 画像をオーバレイしたい場合は、cameraOverlayViewに直接UIImageViewを指定すればOKです

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed@"test.png"]];
imagePicker.cameraOverlayView = imageView;

また、文字などをオーバレイしたい場合は、UIViewの上にUILabelを配置し、UIViewごとOverLayプロパティに 登録するのが簡単かとおもいます。下の例はカメラが起動されるタイミングでoverlayViewを設定しているプログラムです。

-(IBAction) openCamera
{
	if([UIImagePickerController isSourceTypeAvailable:
		UIImagePickerControllerSourceTypeCamera] ){
		imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
		imagePicker.cameraOverlayView = overlayView;
		[self presentModalViewController:imagePicker animated:YES];
	}
}

iPhoneアプリWorkshop

Copyright (C) Kazuma Kitamura All right reserved.