Stap 4: Gemachtigde methoden
Ten eerste is om de gebruiker raken de knop Annuleren.
- Toevoegen van de methode - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker {}
- De enige regel die u wilt toevoegen in deze methode is:
[picker dismissModalViewControllerAnimated:YES]; verwerpt de camera controller
Ten tweede is om opslaan van foto's en video's
- Toevoegen van de methode - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info
- eerst declareren wij onze variabelen:
NSString * mediaType = [info objectForKey: UIImagePickerControllerMediaType];
UIImage * originalImage, * editedImage, * imageToSave;
- Vervolgens gaan we naar ons proces voor het opslaan van een afbeelding
Proces voor het opslaan van een afbeelding
Als (CFStringCompare (mediaType (CFStringRef), kUTTypeImage, 0)
== kCFCompareEqualTo) {//if het is een beeld
editedImage = (UIImage *) [info objectForKey:
UIImagePickerControllerEditedImage]; De bewerkte afbeelding toewijzen aan editedImage
originalImage = (UIImage *) [info objectForKey:
UIImagePickerControllerOriginalImage]; De oorspronkelijke afbeelding toewijzen aan originalImage
Controleren om te zien of er inderdaad sprake was van een bewerkte afbeelding, zoja gebruik dat, anders gebruik maken van het origineel
Als (editedImage) {}
imageToSave = editedImage;
} else {}
imageToSave = originalImage;
}
Sla de afbeelding op het Broodje van de Camera
UIImageWriteToSavedPhotosAlbum (imageToSave, nul, nul, nul);
}
- Klik voor video:
Proces voor het opslaan van een video
Als (CFStringCompare (mediaType (CFStringRef), kUTTypeMovie, 0)
== kCFCompareEqualTo) {//if it's a video
definiƫren van de film
NSString * moviePath = [[info objectForKey:
UIImagePickerControllerMediaURL] pad];
indien mogelijk, in het camerabroodje opslaan
Als (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {}
UISaveVideoAtPathToSavedPhotosAlbum)
moviePath, nil, nil, nil);
}
}
- Vervolgens om schoon te maken, wij ontslaan de controller en de weergave van de afbeelding wijzigen naar de afbeelding die we net nam (als het was een afbeelding):
[picker dismissModalViewControllerAnimated: Ja]; Ontslaan van de controller
[self.imageView setImage:imageToSave]; De afbeelding toewijzen aan de weergave van de afbeelding