Как я могу узнать, было ли изображение, возвращенное из didFinishPickingMediaWithInfo, из камеры или фотоальбома? - PullRequest
23 голосов
/ 23 августа 2011

У меня есть контроллер вида, который должен иметь возможность выбирать изображение из фотоальбома, а также с камеры. У меня может быть только один метод делегата для didFinishPickingMediaWithInfo, и хотя я могу сказать, является ли это изображение, я не могу сказать, было ли это из альбома или с камеры (и мне нужно сначала сохранить его в альбоме). Есть ли в информации что-нибудь, что может помочь мне отличить их от двух?

Спасибо ...

Ответы [ 2 ]

51 голосов
/ 10 сентября 2011

Поскольку UIImagePickerController передается методу, все, что вам нужно сделать, это:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  if ([picker sourceType] == UIImagePickerControllerSourceTypeCamera) {
    // Do something with an image from the camera
  } else {
    // Do something with an image from another source
  }
}
9 голосов
/ 29 июля 2015

В Swift3:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {

    if picker.sourceType == .camera {
      // Do something with an image from the camera
    }
    else {
      // Do something with an image from another source
    }

  }
...