Stap 3: launchCameraController
- Voeg onder #import < UIKit/UIKit.h > de regel #import < MobileCoreServices/MobileCoreServices.h >
- Na ViewController: UIViewController toevoegen < UIImagePickerControllerDelegate, UINavigationControllerDelegate >
Dit maakt het een afgevaardigde van uiimagepicker en uinavigationcontroller, waardoor ons cameragebeurtenissen afhandelen
Open ViewController.m
- Tussen toevoegen de haakjes in ViewController () CameraDelegateMethods
- Tussen de openCamera-methode en-(BOOL) launchCameraControllerFromViewController toevoegen: (UIViewController *) controller usingDelegate: (id < UIImagePickerControllerDelegate, UINavigationControllerDelegate >) gemachtigde {}
Dit is de methode die we gebruiken zullen om te starten van de camera controller
- In de launchCameraController-methode moeten we om te controleren of er een camera beschikbaar voor gebruik eerst, zodat we de volgende regels toevoegen:
BOOL truefalse = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; variabele om te controleren of er een camera beschikbaar is
Als er een camera, de gemachtigde doorgegeven bestaat, en de controller doorgegeven bestaat, gaat u verder op, anders niet verder
Als (! truefalse || (delegeren == nihil) || (controller == Nil)) {
NSLog (kan doen, gemachtigde/camera/view controller bestaat niet!");
Terug nr;
}
Nu dat we hebben vastgesteld dat er een camera, kunnen wij de lancering van de camera controller
- We een UIimagePickerController declareren en initialiseren (UIImagePickerController * cameraController = [[UIImagePickerController VERD] init];)
- Dan we de sourceType te UIImagePickerControllerSourceTypeCamera zetten
- instellen van de mediatypen op [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]
- set allowsEditing op Nee
- Stel de gemachtigde overdragen
In geval uw ogen geglazuurde of u weet niet hoe dat hier is de code:
cameraController.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
cameraController.allowsEditing = geen;
cameraController.delegate = gemachtigde;
- na dat alles, starten we het telefonisch [controller presentModalViewController:cameraController geanimeerde: Ja];
- nu, ga terug naar de openCamera-methode en toevoegen [zelf launchCameraControllerFromViewController:self usingDelegate:self]; Lauch de camera controller