Нужна помощь в устранении (увольнении) ImagePicker (камеры) в объективе-c (iphone) - PullRequest
0 голосов
/ 22 июля 2011

У меня есть небольшая проблема с отклонением моего обзора камеры. я использую UIImagePickerController с этим кодом-

-(void)viewDidAppear:(BOOL)animated{
UIImagePickerController *picker=[[UIImagePickerController alloc]init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls=NO;
[picker.cameraOverlayView addSubview:mirrorOverlay];
picker.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:picker animated:YES];
[picker release];}

Я использую пользовательскую кнопку, чтобы закрыть камеру и изменить вид на мой основной вид, используя этот код-

-(IBAction)flipBack:(id)sender{
[self dismissModalViewControllerAnimated:YES];

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

Пожалуйста, помогите. Спасибо, Amir.


Обновление: Спасибо за помощь ! я понял это! Моя проблема заключалась в том, что я работал с кончиками файлов камеры, и когда вы хотите использовать камеру другим способом, который был описан для делегата, вы должны использовать View, а не кончик.

поэтому мой код был верным, но в неправильном месте и формате. Спасибо всем !

если кому-то нужна помощь, я здесь, чтобы помочь!

Ответы [ 3 ]

1 голос
/ 22 июля 2011

Кажется, вы поместили код в неправильное место, потому что каждый раз, когда ваш viewDidAppear средство выбора будет отображаться вместо этого, вам нужно поместить код средства выбора изображения на какое-то нажатие кнопки. Затем вы можете реализовать метод делегирования средства выбора, такой как imagePickerDidCancel и imagePickerDidFinishPickingMedia, чтобы отклонить picker реализует imagePickerDidCancel или, если вы хотите, чтобы пользовательский метод отмены, ваш код выглядит хорошо.

1 голос
/ 22 июля 2011

вам нужно уволить сборщик, судя по всему, вы увольняете контроллер, который представляет сборщик.

-(IBAction)flipBack:(id)sender{
    [picker dismissModalViewControllerAnimated:YES];
}

В этом случае вам нужно сохранить ссылку на picker (например, добавить UIImagePicker * picker; как член вашего класса viewcontroller).

0 голосов
/ 03 октября 2013

В iOS7 присутствует / отклонен ModalViewController не рекомендуется для средства выбора изображений Camera Roll.

Чтобы открыть средство выбора изображений, используйте:

[controller presentViewController:mediaUI animated:YES completion:nil]; // open image picker

Чтобы закрыть или отменить сборщик изображений, используйте:

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:nil]; // close image picker
}

Для получения дополнительной информации лучше всего посмотреть: https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Articles/Articles/PickinganItemfromthePhotoLibrary.html

...