2011-06-17 13 views
13

私はいくつかの助けが必要です。私は私のアプリの中にカメラを統合する必要がある、と私は、次について学びたい:iPhone Xcodeカメラ統合チュートリアル

  1. それをクリックすると、カメラビューを開くように私は私の見解でカメラボタンを必要としています。
  2. 私は写真を撮る
  3. 電話ギャラリーにアクセスできるようにコードを作成してから、 別のビューで写真を表示する必要があります。

誰も正しい方向に私を指摘できますか?

+0

こんにちはこのリンクをご覧くださいhttp://stackoverflow.com/questions/10176020/how-to-take-picture-from-camera-using-iphone-app –

答えて

52

まあ、UIImagePickerControllerはあなたが必要とするツールです。それはそのチェックリストの中の大部分を行います。

グラフィックスでカスタムボタンを作成したり、ツールバーまたはナビゲーションバーを使用してボタンを保持する場合は、UIBarButtonSystemItemCameraシステム項目を使用してバーボタンを作成できます。これによりフレームワークイメージが得られます。

タップすると、UIImagePickerControllerインスタンスが作成され、モーダルに表示されます。

UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
imagePicker.delegate = self; 
[self presentModalViewController:imagePicker animated:YES]; 
[picker release]; 

あなたはそれはあなたが両方のプロトコルを採用する必要がありますが、ほとんどの場合、あなたは2つの方法のみを実装id < UIImagePickerControllerDelegate, UINavigationControllerDelegate> delegate;として定義されてdelegate性質があることに気づいたんだろうと - imagePickerControllerDidCancel:imagePickerController:didFinishPickingMediaWithInfo:を。 UIImagePickerControllerDelegateプロトコルにはもう1つの方法がありますが、これは廃止予定です。あなたがここでたくさん言及しているのを見てもそれを使用しないでください。キャンセルハンドラが次のように書かれていると思います。

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

その他の方法では、ほとんどの処理を行います。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage]; 

    // You have the image. You can use this to present the image in the next view like you require in `#3`. 

    [self dismissModalViewControllerAnimated:YES]; 
} 

UIImagePickerControllerインスタンスによって自動的に画像が撮影されます。ただし、コントロールをオーバーライドする場合は、showsCameraControlsNOに設定し、独自のcameraOverlayViewを実装することでコントロールをオーバーライドできます。これを行い、写真を撮るためのボタンが割り当てられている場合は、実際にtakePictureメソッドを使用してピクチャアクションをトリガすることができます。したがって、これは#2に対処する必要があります。

他のプロパティを使用してイメージピッカーを調整することもできます。たとえば、mediaTypesプロパティを使用してイメージを撮影するようにユーザーを制限することができます。

+0

感謝しています! – Legolas

+0

おい!いい回答のためにhttp://stackoverflow.com/questions/6444107/help-with-modal-view-controller-login – Legolas

+1

+1。非常によく説明されて、ありがとう。 – Peter

0

ドキュメントを言い換えて、dismissModalViewControllerAnimated:はiOS6以降では使用されなくなりました。代わりにdismissViewControllerAnimated:completion:を使用してください。

関連する問題