2009-07-27 4 views
1

내 응용 프로그램에서 TabBarController를 사용하고 있습니다. tabbar보기 중 하나에서 이미지를 선택하려면 UIImagePickerController을 사용하고 있습니다.iPhone에서 UITabBar와 함께 UIImagePickerController를 사용하는 방법

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 

imagePicker.delegate = self; 

imagePicker.editing = YES; 

[self presentModalViewController:imagePicker animated:YES]; 
[imagePicker release]; 

그것은 피커를 추가,하지만 사진을 선택시 다음과 같이 내가 선택기를 추가 할 때

, 버튼이 "선택"과 "취소"필요 하단 바는 내 TabBar의 아래 숨길 도착 . 이 문제를 해결하는 방법.

답변

0

나는이 문제를 보지 못했습니다. 나는 UITabBarUIImagePickerController을 함께 사용하는 응용 프로그램을 가지고 있으며, 탭 표시 줄은 이미지 선택 도구를 모호하게하지 않습니다. UITabBar의 뷰 컨트롤러 중 하나를 내보기 컨트롤러, 내부

, 나는 같은 이미지 선택기를 만드는거야 : 내가하고 있어요 것을 제외하고

self.imagePicker = [[[UIImagePickerController alloc] init] autorelease]; 
imagePicker.allowsImageEditing = NO; 
imagePicker.delegate = self; 
[self presentModalViewController:imagePicker animated:YES]; 

, 당신의 코드와 매우 유사 보인다 이미지 피커는 유지 된 속성으로 탭 표시 줄이 올바르게 설정되어 있습니까? 보기 컨트롤러가 myTabBar.viewControllers 배열 내에 포함되어 있습니까?

+0

예입니다. 첫 번째 컨트롤러가 navigationController가있는 firstViewCtonroller라고하는 tabbar가 있습니다. 이 navigationController를 사용하여 다른보기로 전환하고보기 중 하나에서 위의 코드를 사용하고 있습니다. 그러나 tabBar는 imagePicker의 견해에 숨어 있지 않습니다. – rkb

+0

UIImageController를 사용할 때 메모리 누수가 발생합니다. – rkb

+0

안녕하세요 사용자가 이미지를 수정할 수 있도록 허용하지 않았을 수 있습니다. 허용하면 다음 뷰가 하단의 tabBar와 함께 나타납니다. – rkb

1

문제는 사용자가 모달 화면을 보여주는 탐색 컨트롤러로 사용하고 있다는 것입니다. 따라서 탭 막대 탐색 컨트롤러는 모달 화면이 전체 화면을 채워야한다는 것을 모릅니다. UIImagePickerController 자체를 작은 크기로 조정할 수 없으므로 탭 표시 줄 탐색 컨트롤러를 사용하여 모달 뷰를 열어야합니다.

[self.navigationController presentModalViewController:picker animated:YES]; 

대신 UIImagePickerController를 나를 위해 속임수를 썼는지 제시 대상으로 자기의 self.navigationController를 사용하여 :

은 내가 TabBar의 내부에 표시됩니다 탐색 컨트롤러에서 UIImagePickerController를 보여 다음 코드를 사용하여 .

1

이 나를 위해 작동합니다

picker.delegate = currentClassViewController; 

[tabBarController presentModalViewController:picker animated:YES]; 

자신의 당신의 피커 발신자 클래스가하거나 UITabController 변수와 tabBarController에 대한 presentModalViewController에 액세스 할 수 있습니다.

관련 문제