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.