2016-11-13 6 views
0

私はここでカメラアプリの構築に関するチュートリアルを次のです:https://www.appcoda.com/ios-programming-camera-iphone-app/iOSアプリの起動後すぐにライブカメラのプレビューを表示するには?

それはイメージ図と2つのボタンでシンプルなアプリ、デバイスのフォトライブラリから写真を選択するには、他の写真を撮るためのものです。

写真を撮るボタンを押すと、カメラが表示され、写真などを撮ることができます。

しかし、最初に写真を撮ることを明示的に押さなくても、アプリが起動して開くとすぐにライブカメラのプレビューを表示する方法はありますか? viewDidLoadまたは他の場所で、どのようにトリガーしますか? AV Foundationを使用する必要がありますか?

現時点では私のプログラムでは、このコードを使用して、ユーザーにカメラを提示する画像ピッカーコントローラを使用している:短い答えを

- (IBAction)takePhoto:(UIButton *)sender { 

     UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
     picker.delegate = self; 
     picker.allowsEditing = YES; 
     picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

     [self presentViewController:picker animated:YES completion:NULL]; 

} 

答えて

0

は申し訳ありませんが、はい、あなたはAVFoundationを使用する必要があります。 UIImagePickerControllerをあなたのビューに埋め込むためのまともな方法はありません。あなたは、もちろん、-[UIViewController addChildViewController:]を使用して、imagePickersを追加することができ

はあなたのViewControllerにサブビューとして表示:

[[self view] addSubview:[pickerVC view]]; 

[self addChildViewController:pickerVC]; 
[pickerVC didMoveToParentViewController:self]; 

しかし、正直に言うと、あなたはより良いかもしれない上記のアプローチとして、AVFoundationを使用して、カメラを実装するかもしれません私が個人的に考えているように、今日はちょっと「ハック」しているようです。また、自動レイアウトを適切に処理する必要があります。特に、UIImagePickerViewControllerがこのように扱われることを好む場合は、わかりません。 これらのコンポーネントは、特定のユースケース用に構築されており、通常のサブクラス化可能なオープンソリューションではなく、特殊目的に使用されることを覚えておいてください。UIViewController

関連する問題