2010-07-18 6 views
3

Je souhaite déclencher l'obturateur dès que l'utilisateur affiche des onglets sur l'écran. J'ai un code de travail pour afficher la caméra en mode plein écran. Comment puis-je déclencher l'obturateur par un contact?iPhone SDK - Comment prendre une photo avec vue caméra personnalisée?

 
- (IBAction) takePicture 
{ 
    if (!self.imgPicker) { 
     self.imgPicker = [[UIImagePickerController alloc] init]; 
     self.imgPicker.allowsEditing = NO; 
     self.imgPicker.delegate = self; 
    } 

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
    { 
     self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera; 
     self.imgPicker.showsCameraControls = NO; 
     self.imgPicker.wantsFullScreenLayout = YES; 

     CGAffineTransform cameraTransform = CGAffineTransformMakeScale(1.132, 1.132); 
     self.imgPicker.cameraViewTransform = cameraTransform; 

     UIView *headsUpView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 480, 320)]; 

     [self.imgPicker setCameraOverlayView:headsUpView]; 
    } else { 
     NSLog(@"Camera not available."); 
     self.imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; 
    } 

    [self presentModalViewController:self.imgPicker animated:YES]; 
} 

Répondre

2

Vous devez utiliser la méthode takePicutre, puis détecter toute touche sur l'écran.

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html#//apple_ref/occ/instm/UIImagePickerController/takePicture

Quelque chose comme ça

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [[event allTouches] anyObject]; 
    self.imgPicker.takePicture; 
} 
Questions connexes