カメラを開始し、カメラによって選択された画像で画像ビューを更新するアプリケーションを作成するにはどうすればよいですか?
2 に答える
これを試してみてください。
viewDidLoad メソッドで、UIImagePickerController を初期化し、そのプロパティ sourceType を UIImagePickerControllerSourceTypeCamera として割り当て、self としてデリゲートします。
次のように、クリック イベントでイメージピッカーのモーダル ビューを取得するビュー コントローラーのボタンを定義します。
[self presentModalViewController:self.picker animated:YES];
ここで picker は UIImagePickerController のオブジェクトです。
次に、UIImagePickerController のdidFinishPickingMediaWithInfoデリゲートを実装します。このデリゲートでは、UIImage を Dictionary オブジェクト情報に割り当ててから、画像を UIImageView のローカル インスタンス (以下の ImageToSave) に保存できます。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
UIImage *img = [info objectForKey:@"UIImagePickerControllerImage"];
ImageToSave.image = img;
}
UIImagePickerControllerDelegate をメイン ビュー コントローラーの .h ファイルに含めることを忘れないでください。
これが機能するかどうかを確認してください。
考えてself.view = picker.cameraOverlayViewみれば、あなたが所有する空の透明なビューをコピーするだけです!! それが機能するというわけではなく、画面に追加することすらありません...
代わりに、ピッカー コントローラーを提示する必要があります。
[self.navigationController presentModalViewController:picker animated:YES];
次に、デリゲート呼び出しを必ず実装してください (既にデリゲートを設定しているため、これは可能性のあるものと思われます)。