2

카메라를 만들면서 사진 라이브러리에 액세스 할 수있게 해줍니다. 그들은 버튼을 터치하고, UIImagePickerControllerSourceTypeSavedPhotosAlbum이 presentModalViewController를 사용하여 팝업합니다. 그들이 사진을 만질 때, 나는 ImagePicker를 왼쪽으로 밀어 넣고 새로운보기를 들어올 수있는보기를 원합니다. 문제는 ImagePicker를 계속 유지하기 위해서입니다. 그래서 그들은 그것으로 돌아갈 때 지체가 없습니다. . 이것은 NightCamera와 같은 많은 카메라 응용 프로그램에서 발생합니다. [self.navigationController pushViewController:photoPreview];을 사용할 때마다보기가 피어가 아닌 기본보기로 푸시됩니다. [picker.navigationController pushViewController:photoPreview];을 사용하면 피커의 navigationController가 nil이므로 아무 일도 일어나지 않습니다. 누구든지 무엇을 해야할지 압니까?UIImagePickerController를 왼쪽으로 밀어 넣으십시오.

답변

15

예 가능합니다. "모달 뷰 컨트롤러"와 같은 것은 없으며, 모든 뷰 컨트롤러가 modaly로 표시 될 수 있습니다.

UIImagePickerController은 이미 UINavigationController이므로보기를 직접 푸시 (push) 할 수 있습니다. 그래서 그 대신

[picker.navigationController pushViewController:some_view_controller]; 

단지 .navigationController을 제거

[picker pushViewController:some_view_controller]; 

을한다.

+1

두 번 감사 – Tim

-2

이 시도 :

if (!picker.navigationController) 
    UINavigationController *navC = [[[UINavigationController alloc] initWithRootViewController:picker] autorelease]; 

[picker pushViewController:photoPreview]; 
+0

처음 두 줄은 어떻게해야 무엇을 정말 확실하지. navC라는 로컬 변수를 만들면 어디서든 사용되지 않습니다. "unused variable"컴파일러 경고를 받아야합니다. 이 선을 추가해도 해가되지는 않지만 일을하지는 않습니다. – George

관련 문제