カメラ フィードとは異なるソースを使用している iPad では、ポップオーバーに UIImagePickerController を表示しているので、好きなだけ使用できます。しかし、ソースを取得しようとするとUIImagePickerControllerSourceTypeCamera
、ピッカー ウィンドウがフル スクリーンで表示され、次の 2 つのケースがあります。
- カスタム コントロール (showsCameraControls = NO) を使用すると、同じコントローラーで好きなだけ写真を撮ることができます。
- デフォルトのコントロール (showsCameraControls = YES) を使用する場合、1 枚の写真を撮った後、コントローラーは再び使用できなくなるため、コントローラーを破棄する必要があります。写真を撮った後、スタックに次のコントローラーを置いています。その後、ピッカーコントローラーに戻ろうとしていますが、使用できなくなり、黒い画面が表示されます。
の Apple ドキュメントimagePickerController:didFinishPickingMediaWithInfo:
:
イメージ ピッカーの showsCameraControls プロパティを NO に設定し、独自のカスタム コントロールを提供すると、イメージ ピッカー インターフェイスを閉じる前に複数の写真を撮ることができます。ただし、そのプロパティを YES に設定した場合、デリゲートは、ユーザーが写真を 1 枚撮影するか操作をキャンセルした後、イメージ ピッカー インターフェイスを閉じる必要があります。
この場合に別の写真を撮りたい場合は、ベース コントローラーに戻って UIImagePickerController インスタンスをもう一度作成する必要があります。
これが役立つことを願っています。
編集: IMO がビュー コントローラー スタックを再構築する最も簡単な方法は、アニメーションなしで写真を撮った後にピッカーを閉じ、その後アニメーション付きの次のコントローラーを表示することです。次のコントローラーがピッカーコントローラーの直後に「点滅」せずに表示されるという感覚をユーザーに与えます。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissViewControllerAnimated:NO completion:^{
[self presentViewController:<newController> animated:YES completion:nil];
}];
}