2011-04-21 8 views
0

카메라를 사용하여 여러 이미지를 찍을 수 없습니다. 카메라를 여러 번 호출하는 방법을 보여주는 몇 가지 코드로 안내해 주시겠습니까? 미리 감사드립니다. 사용iPhone에서 UIImagePickerController를 사용하여 여러 이미지를 클릭하십시오.

코드 :

-(void) invokeCamera{ 
//Invoke View for Camera 
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 
imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker.showsCameraControls = YES; 
imagePicker.delegate = self; 
[self presentModalViewController:imagePicker animated:YES]; 
[imagePicker release]; 
imagePicker = nil; 
} 
else { 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Camera Unavailable" message:@"Requires a camera to take pictures" delegate:nil cancelButtonTitle:@"Continue" otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
} 

} 

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

uploadImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
[uploadImage retain]; 
indicatorView = [[UIView alloc] initWithFrame:CGRectMake(75, 155, 170, 170)]; indicatorView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5]; indicatorView.clipsToBounds = YES; //indicatorView.layer.cornerRadius = 10.0; 

objIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; objIndicatorView.frame = CGRectMake(65, 40, objIndicatorView.bounds.size.width, objIndicatorView.bounds.size.height); 
[indicatorView addSubview:objIndicatorView]; 

indicatorLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 115, 130, 22)]; indicatorLabel.backgroundColor = [UIColor clearColor]; 
indicatorLabel.textColor = [UIColor whiteColor]; 
indicatorLabel.adjustsFontSizeToFitWidth = YES; 
indicatorLabel.textAlignment = UITextAlignmentCenter; 
indicatorLabel.text = @"Uploading Image..."; 
[indicatorView addSubview:indicatorLabel]; 

[picker.view addSubview:indicatorView]; 
[picker.view bringSubviewToFront:indicatorView]; 
[objIndicatorView startAnimating]; 

[self performSelector:@selector(closeImagePicker) withObject:nil afterDelay:0.1]; 
} 

(void)closeImagePicker{ 

[self formRequest: uploadImage]; 

if (objIndicatorView != nil) 
{ 
[objIndicatorView stopAnimating]; 
[objIndicatorView removeFromSuperview]; 
[objIndicatorView release]; 
objIndicatorView = nil; 
} 
indicatorView.hidden = YES; 

if ([respPhotoUpload.msg isEqualToString: @"Image Uploaded"]) 
{ 

[self invokeCamera]; 
} 
else 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 
} 
+0

다음에 코드 서식을 사용합니다. 그래서 그것의 읽을 수있는 형태로. – visakh7

+0

좋습니다, 고맙습니다. – iPhoneGeek

+0

코드가 제대로 작동하는지 확실하지 않아 메모리가 누출 될지라도 확실합니다. – visakh7

답변

0
if ([respPhotoUpload.msg isEqualToString: @"Image Uploaded"]) 
{ 
[self dismissModalViewControllerAnimated:NO]; 
[self invokeCamera]; 
} 
else 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

나는 확실하지 않다. 자신 만의 버튼을 사용하여 사진을 찍은 다음 카메라 사용을 마친 후 다시 닫으십시오.

+0

나는 dismissModalViewControllerAnimated 전화를 시도하고 다시 그것을 제시하지만 지금은 내게 빈 화면을주는 – iPhoneGeek

+0

안녕 모두, 하나의 도움말과 함께 나를 도울 수있다 오버레이를 구현할 수 없습니다. ( – iPhoneGeek

+0

작동합니다 :-) 감사합니다 7KV7. 귀하의 팁 획기적인했다! – iPhoneGeek

관련 문제