Подтвердить что ты не робот

Учебники по интеграции с iPhone Xcode Camera Integration

Мне нужна помощь. Мне нужно интегрировать камеру в мое приложение, и я хочу узнать о следующем:

  • Мне нужна кнопка камеры на моем представлении, чтобы щелкнуть ее, открыв представление камеры.
  • Делаю снимок
  • Мне нужно закодировать, чтобы у меня был доступ к Галерее телефонов, а затем  отобразить рис в другом виде.

Может ли кто-нибудь указать мне в правильном направлении?

4b9b3361

Ответ 1

Ну, UIImagePickerController - это тот инструмент, который вам нужен. Он будет делать большую часть материала в этом контрольном списке.

Для кнопки вы можете создать пользовательскую кнопку с графикой или если вы планируете использовать панель инструментов или панель навигации, чтобы удерживать кнопки, вы можете создать кнопку панели с помощью UIBarButtonSystemItemCamera. Это даст вам изображение рамки.

При нажатии на него вы создадите экземпляр UIImagePickerController и представите его в текстовом формате.

UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
[picker release];

Как вы, должно быть, заметили, что у него есть свойство delegate, которое определено как id < UIImagePickerControllerDelegate, UINavigationControllerDelegate> delegate;, поэтому вам придется принять оба протокола, но в большинстве случаев вы реализуете только два метода - imagePickerControllerDidCancel: и imagePickerController:didFinishPickingMediaWithInfo:, Существует еще один метод в протоколе UIImagePickerControllerDelegate, но он устарел. Не используйте его, даже если вы видите, что здесь много упоминается. Вы ожидали бы, что обработчик отмены будет написан следующим образом:

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [self dismissModalViewControllerAnimated:YES];
}

Другие методы - это то, где вы делаете большую часть материала.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage];

    // You have the image. You can use this to present the image in the next view like you require in `#3`.

    [self dismissModalViewControllerAnimated:YES];
}

Выполнение снимка выполняется автоматически экземпляром UIImagePickerController. Однако, если вы хотите переопределить их элементы управления, вы можете сделать это, установив showsCameraControls в NO, а затем реализуя свой собственный cameraOverlayView. Если вы сделали это и назначили кнопку для съемки, вы можете инициировать действие изображения с помощью метода takePicture. Таким образом, это должно касаться #2.

Вы можете использовать другие свойства, чтобы настроить свой выборщик изображений. Например, вы можете ограничить пользователя только взятием изображений с помощью свойства mediaTypes.

Ответ 3

Перефразируя документы, dismissModalViewControllerAnimated: устарел от iOS6 и далее. Вместо этого используйте dismissViewControllerAnimated:completion:.