내 앱의 카메라 탭에서 사용자가 사진을 찍을 때 (예 : Instagram 등과 같은 많은 사진을 찍는 것과 비슷합니다) 즉시 사용자가 UIImagePickerController
을 표시하고 싶습니다. 현재이라는 VC가 있으며 UIImagePickerController에서 가져온 사진을 표시하고 의 기능은 입니다. 사진이 찍히지 않았 음을 감지하면 ImagePickerController
모달로이 표시됩니다. 응용 프로그램 모달 활성 컨트롤러를 제시하려고 'View Controller 수명주기에서 UIImagePickerController를 표시 할 때?
"때문에 캐치되지 않는 예외'NSInvalidArgumentException '응용 프로그램 종료, 이유는 :이 대부분의 시간을 근무하는 동안
, 나는 항상 내 말은 예외를 얻을 것입니다 것으로 나타났습니다 . "
여기에 몇 가지 질문에 대한 제안에 따라 컨트롤러를 viewDidAppear
에 표시하려고 시도했습니다. 그러나 viewDidAppear
을 사용하면 모달 ImagePicker가 해제되지 않고 계속 "모양이 전환되기 시작/끝내기 불균형 호출"오류가 계속 발생합니다.
내 질문은 :
- 나는 현재 사진을 촬영하기 위해 사용자에 대한 모달 ImagePickerController을 제시하고 사진을 촬영하면이를 기각하고 있습니다. 이것은 일반적으로 ImagePickerControllers에서 가장 안정적/문제없이 수행되는 방식입니다.
- ImagePickerController를 뷰 수명주기에 두어이 원하는 효과를 얻으려는 다른 방법은 무엇입니까? 여기
내 코드입니다 :
viewWillAppear
BOOL modalPresent = (BOOL)(self.presentedViewController);
if (!appDelegate.imageStorageDictionary[@"picture1"]){
if (modalPresent == NO){
[self presentViewController:self.imagePickerController animated:NO completion:nil];
}
}
에서 imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
//Other lines omitted
if (![[self imagePickerController] isBeingDismissed])
[self dismissViewControllerAnimated:NO completion:nil];