napisać następujący takePhoto metodę Acton:
- (IBAction)takePhoto:(UIButton *)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
W końcu robimy to samo dla sposobu działania selectphoto, ale zmieniając sourceType do UIImagePickerControllerSourceTypePhotoLibrary.
- (IBAction)selectPhoto:(UIButton *)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:NULL];
}
Wdrażanie delegata Metody UIImagePickerController
Gdy użytkownik robi zdjęcie aparatem i zmianę rozmiaru obrazu (zmiana rozmiaru zdjęcia jest dozwolone, ponieważ mówiliśmy allowsEditing = TAK, gdy stworzyliśmy próbnika obrazu). Jest to NSDictionary, który zawiera, między innymi, oryginalny obraz i edytowany obraz (dostępny poprzez tag UIImagePickerControllerEditedImage).
(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.imageView.image = chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
Cóż, to naprawdę dziwne. Daj szansę deweloperowi na korzystanie tylko z aparatu. Wiem o atrybucie, jeszcze raz dziękuję za przypomnienie mi. Szkoda nam:/ – Simon
W większości przypadków ktoś z Apple zastanawiał się nad tym i postanowił na to nie pozwolić. Może dlatego, że użytkownik może się denerwować, jeśli nie może wybrać z biblioteki po zrobieniu zdjęcia, które ma zostać przesłane na stronę internetową za pomocą natywnej aplikacji aparatu. Tak naprawdę nie ma potrzeby, aby uniemożliwić korzystanie z biblioteki, prawda? – jimpic
Cóż, chciałem zrobić tylko jeden krok, aby zrobić zdjęcie i nie naciskać ani jednego przycisku, ani drugiego, żeby zrobić zdjęcie, więc na razie nie jest to ważne, ale myślę, że chciałem pominąć jeden krok :) Jeszcze raz dziękuję za informacje :) – Simon