Hur du använder kameran i din iOS-program (3 / 5 steg)
Steg 3: launchCameraController
- Lägg till raden #import < MobileCoreServices/MobileCoreServices.h > under < UIKit/UIKit.h > #import
- Efter ViewController: UIViewController Lägg till < UIImagePickerControllerDelegate, UINavigationControllerDelegate >
Detta gör det en delegat av uiimagepicker och uinavigationcontroller, vilket tillåter oss att hantera kamerahändelser
Öppna ViewController.m
- I mellan parenteserna i ViewController () lägga till CameraDelegateMethods
- Mellan den openCamera metoden och Lägg till-(BOOL) launchCameraControllerFromViewController: controller usingDelegate (UIViewController *): (id < UIImagePickerControllerDelegate, UINavigationControllerDelegate >) delegat {}
Detta är den metod vi kommer att använda att lansera kamera controller
- I metoden launchCameraController måste vi kontrollera om det finns en kamera kan användas först, så att vi lägga till följande rader:
BOOL truefalse = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; variabel för att kontrollera om det finns en kamera
om det finns en kamera, ombudet gått finns och den registeransvarige passerade finns, gå vidare på, annars inte gå längre
om (! truefalse || (delegera == nil) || (Controller == Nil)) {
NSLog (kan göra, delegat/kamera/view controller finns inte!");
återvända nej;
}
Nu när vi har kontrollerat att det finns en kamera, kan vi gå vidare lanserar kamera controller
- Vi deklarera en variabel som UIimagePickerController och initiera den (UIImagePickerController * cameraController = [[UIImagePickerController alloc] init];)
- Vi anger sedan dess sourceType till UIImagePickerControllerSourceTypeCamera
- ställa in dess medietyper till [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]
- Set allowsEditing nej
- Ställ sedan ombudet att delegera
I fall din ögon glaserat över, eller du vet inte hur till det, här är koden:
cameraController.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraController.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
cameraController.allowsEditing = nej;
cameraController.delegate = ombud;
- efter allt detta kan vi starta den genom att ringa [controller presentModalViewController:cameraController animerade: Ja];
- nu, gå tillbaka till metoden openCamera och Lägg till [self launchCameraControllerFromViewController:self usingDelegate:self]; Lauch kamera controller