Hur du använder kameran i din iOS-program (4 / 5 steg)
Steg 4: Delegera metoder
Först är att hantera användaren trycka på Avbryt.
- Lägg till metod - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker {}
- Den enda raden måste du lägga till i denna metod är:
[picker dismissModalViewControllerAnimated:YES]; avfärdar kamera controller
För det andra är att hantera spara bilder och videor
- Lägg till metod - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info
- först förklarar vi våra variabler:
NSString * mediaType = [information objectForKey: UIImagePickerControllerMediaType];
UIImage * originalImage, * editedImage, * imageToSave;
- Sedan går vi till vår process för att spara en bild
Processen för att spara en bild
om (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0)
== kCFCompareEqualTo) {//if det är en bild
editedImage = (UIImage *) [information objectForKey:
UIImagePickerControllerEditedImage]; Tilldela den redigerade bilden till editedImage
originalImage = (UIImage *) [information objectForKey:
UIImagePickerControllerOriginalImage]; Tilldela den ursprungliga bilden till originalImage
Kontrollera att se om det faktiskt fanns en redigerad bild, så Använd det, annars använda ursprungliga
om (editedImage) {
imageToSave = editedImage;
} annat {
imageToSave = originalImage;
}
Spara bilden till kameran Roll
UIImageWriteToSavedPhotosAlbum (imageToSave, noll, noll, noll);
}
- Sedan för video:
Processen för att spara en video
om (CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0)
== kCFCompareEqualTo) {//if det är en video
definiera filmen
NSString * moviePath = [[information objectForKey:
UIImagePickerControllerMediaURL] sökväg];
om möjligt, spara i kamerarullen
om (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
() UISaveVideoAtPathToSavedPhotosAlbum
moviePath, noll, noll, noll);
}
}
- Sedan för att rensa upp, vi avfärda registeransvarige och ändra bilden i bilden vi tog bara (om det var en bild):
[picker dismissModalViewControllerAnimated: Ja]; Avskeda registeransvarige
[self.imageView setImage:imageToSave]; Också skapa bild Visa