Désactiver la reprise, jouer et utiliser l'écran video UIImagePickerController

Je veux juste un screeen: entrez la description de l'image ici Lorsque vous utilisez UIImagePickerController il utilise deux écrans.

Mais je ne veux pas celui-ci:

entrez la description de l'image ici

Est-ce possible?

@Fahri raison AVFoundation est plus flexible mais si vous voulez coller avec UIImagePickerController ce que vous pouvez faire est de désactiver le contrôle de la camera en showsCameraControls propriété showsCameraControls à NO , puis présentez votre propre vue et vos methods personnalisées.

Changez votre code pour:

Prendre une video

 - (IBAction)takeVideo:(UIButton *)sender { UIToolbar *toolBar=[[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-54, self.view.frame.size.width, 55)]; toolBar.barStyle = UIBarStyleBlackOpaque; NSArray *items=[NSArray arrayWithObjects: [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelVideo)], [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shootVideo)], [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], nil]; [toolBar setItems:items]; // create the overlay view UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-44)]; overlayView.opaque=NO; overlayView.backgroundColor=[UIColor clearColor]; // parent view for our overlay UIView *cameraView=[[UIView alloc] initWithFrame:self.view.bounds]; [cameraView addSubview:overlayView]; [cameraView addSubview:toolBar]; picker = [[UIImagePickerController alloc] init]; if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO){ NSLog(@"Camera not available"); return; } picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSSsortingng *) kUTTypeMovie, nil]; picker.delegate = self; // hide the camera controls picker.showsCameraControls=NO; [picker setCameraOverlayView:cameraView]; [self presentViewController:picker animated:YES completion:nil]; } 

prise VIDEO

 -(void) shootVideo { [picker startVideoCapture]; } 

annulerVideo

 - (IBAction)cancelVideo { [self dismissViewControllerAnimated:YES completion:nil]; } 

capture d'écran

entrez la description de l'image ici

TÉLÉCHARGER LE PROJET DEMO

Si vous avez déjà vérifié la documentation de UIImagePickerController avant de postr votre question, vous pouvez utiliser la bibliothèque AVFoundation pour créer votre propre controller de camera, avec les controls et les écrans que vous voulez. Bonne chance!