2012-02-22 5 views
0

카메라 모드에서 시작해야하는 iPhone 용 응용 프로그램을 만듭니다 (위에 사용자 정의 레이아웃이 있지만 나중에 제공됨). 나는 버튼을 눌러서이 앱의 버전을 만들었고, 아이폰 앨범에서 사진을 선택하거나 새로운 사진을 찍을 수있다.카메라 모드에서 iPhone 응용 프로그램을 시작하면 빈 화면이 표시됩니다.

다른 코드에서 동일한 코드를 사용하려고하면 실패합니다.

원래 내가

- (void)takePicture 
{ 
    isInCaptureMode = YES; 

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

    imagePicker.mediaTypes = 
    [UIImagePickerController availableMediaTypesForSourceType: 
    UIImagePickerControllerSourceTypeCamera]; 

    [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 

    imagePicker.videoQuality = UIImagePickerControllerQualityTypeMedium; 

    // set delegate 
    [imagePicker setDelegate:self]; 

    // Place image picker on the screen 
    [self presentModalViewController:imagePicker animated:YES]; 

    [imagePicker release]; 
} 

그래서 나는 나 자신에게 생각 카메라를 시작하는 데 사용하는 기능 'takePicture'을했다 "아마, 단일보기 응용 프로그램을 만들은 뷰 컨트롤러의 viewDidLoad 함수에이 코드를 던질 수 그것을 출발점으로 사용하십시오. " 그러나 슬프게도, 나는 거기에 갇혀 있었다. 응용 프로그램이 시작되고 (장치에 카메라가있는 경우) 화면에 검은 색 공백이 표시됩니다. 장치에 카메라 (iPad 또는 시뮬레이터)가 없으면 응용 프로그램이 충돌합니다.

내가 원래 엑스 코드 3를 사용하여 응용 프로그램을 만들었지 만 지금은 원래의 응용 프로그램은 4.2에서 잘 실행 4.2 이상 마이그레이션 한

하지만 이런 일이 발생하는 이유

사람이 설명 할 수 (나는 조정이 조금있었습니다)?

+0

잘못된 점을 발견했습니다 ... 'viewDidLoad'대신 'viewDidAppear'에서 코드를 호출해야합니다. – Bjorninn

답변

0

그래서 나는 의견에서 말했다. 바로 'viewDidLoad'대신 'viewDidAppear'에서 코드를 호출하자마자 ...

1

무슨 일이 일어나는지 다음 코드를 사용해보십시오.

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

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
} else { 
    //you can get picture from Library is there is no camera 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
} 

picker.delegate = self; 
[self presentModalViewController:picker animated:YES]; 

[picker release]; 
+0

일단 카메라를 설치하고 실행하면이 기능을 구현할 계획이었습니다. 나는 당신의 코드를 시험해 볼 테스트 프로젝트를 만들려고 시도했다. 거기에서 'viewDidAppear'메소드를 발견했습니다. 그래서 몇 가지 점을! – Bjorninn

관련 문제