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];
}
}
Copyright (C) Kazuma Kitamura All right reserved.