2009-11-23 9 views
1

J'ai fait une animation sur la caméra et tout fonctionne bien. Je peux démarrer l'appareil photo, déplacer l'image en superposition et l'enregistrer en tant qu'image.iphone sdk animation de superposition d'appareil photo, comment pouvez-vous arrêter en aperçu?

Mon problème est que dans la "prévisualisation" l'animation continue de bouger, et je ne sais pas quand la caméra entre dans ce mode. Je ne sais pas comment vérifier un bool ou faire quelque chose qui peut arrêter de superposer.

Y a-t-il un moyen d'afficher l'aperçu? Ou existe-t-il une fonction qui me montre l'état de la caméra?

Merci pour votre temps.

// camera declaration 
{ 
UIImagePickerController *imagePicker; 

imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
imagePicker.delegate = self; 
imagePicker.showsCameraControls = YES; 
imagePicker.navigationBarHidden = YES; 
imagePicker.toolbarHidden = YES; 

imagePicker.cameraOverlayView = overlayView; 

[self presentModalViewController:imagePicker animated:YES]; 
[self.view bringSubviewToFront:overlayView]; 
} 



// animation 
UIImageView *ani1; 
ani1 = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ani1.png"]] autorelease]; 
[self.overlayView addSubview:ani1]; 

// loop for animation 
[NSTimer scheduledTimerWithTimeInterval:0.05f target:self selector:@selector(loop) userInfo:nil repeats:YES]; 


-(void)loop { 
// move x y each loop 
newFrame = CGRectMake(x, y, 320, 480); 
[ani1 setFrame:newFrame]; 
} 



// camera finish 
// take photo + overlay and save it 
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{ 
imagePicker.showsCameraControls = NO; 
[self presentModalViewController:imagePicker animated:NO]; 
[self.view bringSubviewToFront:overlayView]; 

UIGraphicsBeginImageContext(picker.view.bounds.size); 
[picker.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *newImage; 
newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

UIImageWriteToSavedPhotosAlbum(newImage, nil, nil, nil); 
} 

Répondre

0

Vous devez créer vos boutons un et ne pas utiliser les boutons par défaut et les caractéristiques de la pomme du UIImagePickerController.