iPhone 응용 프로그램을 iOS 3.1.3과 역 호환되도록 수정 중입니다. 사용자가 사진 라이브러리에서 이미지를로드하도록 허용합니다. 다음 코드로 이미지 선택 도구를 제시합니다.UIImagePicker는 iOS 3.1.3에서 전체 화면 전환을 수행 할 수 없습니다.
UIImagePickerController* content = [[UIImagePickerController alloc] init];
content.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
content.delegate = self;
[self presentModalViewController:content animated:YES];
[content release];
이것은 ios 4.0 이상에서 올바르게 작동합니다. 그러나, IOS 3.1.3에, 이미지 선택 도구가 표시되지 않습니다, 나는 다음과 같은 경고 얻을 :이 경우
Can't perform full-screen transition. The fromViewController's view must be
within a view that occupies the full screen.
fromViewController은 탐색 컨트롤러 내에서 볼 뷰 컨트롤러입니다. 내비게이션 제어기는 다음 코드 세그먼트를 사용 AppDelegate에의 didFinishLaunchingWithOptions에 설정되어
MyViewController* root = [[MyViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:root];
aNavigationController.delegate = self;
[window addSubview:aNavigationController.view];
이전 화상 선택기를로드하려고 시도에 다른 뷰 컨트롤러 탐색 제어기에 제공된다. 따라서 이미지 선택기가로드 될 때 두 개의보기 컨트롤러가 탐색 스택에 있습니다.
다른 게시물을 기반으로 rootview 컨트롤러와 탐색 컨트롤러를 fromViewController (이미지 선택 도구를 제시하는 컨트롤러)로 사용해 보았습니다. 행동은 동일합니다.
문제가 탐색 컨트롤러의 modalPresentationStyle을 iOS 3.1.3에서 설정할 수 없다는 사실과 관련이 있는지 궁금합니다. iOS 3.2 이상에서는 프리젠 테이션 스타일을 UIModalPresentationFullScreen으로 설정했습니다. 이전 iOS의 기본값이라고 생각합니다. 그러나 나는 전체 화면보기와 관련된 경고가 나오기 때문에 단순히 의심 스럽다.
다른 제안 사항이 있습니까? UIImagePicker 또는 UINavigationController의 변경 사항을 ios 3.x에서 4.0으로 해결하는 Apple 설명서를 찾을 수 없었습니다.
미리 감사드립니다. 뷰 컨트롤러 탐색 컨트롤러 내부에있을 때 나는 보통 무엇을
행운을 빈다. 내비게이션 컨트롤러, 루트보기 컨트롤러 또는 표시되는보기 컨트롤러에서 표시 할 때 동일한 동작이 발생합니다. – jenonen
@jenonen "이미지 선택 도구를로드하기 전에 다른보기 컨트롤러가 탐색 컨트롤러에 표시됩니다."어떻게 그보기 컨트롤러를 표시합니까? –
[self.navigationController pushViewController : newViewController animated : YES]; – jenonen