UIImagePickerController не запускает метод делегата didFinishPickingImage или didFinishPickingMediaWithInfo - iphone - PullRequest
1 голос
/ 24 марта 2011

У меня странная проблема на некоторых устройствах: UIImagePickerController не запускает делегированный метод didFinishPickingImage или didFinishPickingMediaWithInfo.

Я протестировал приложение на iphone 4, iOS 4.1, iPod 4g и iphone 4.3, приложение работает нормально, а методы делегатов работают нормально.

Но на некоторых устройствах, на которых iphone 3gs iOS 4.1и iphone 4 iOS 4.3 эти события не инициируются.

Устройство воспроизводит звук снятия изображения, но затем показывает изображение для редактирования, когда мы нажимаем кнопку USE, камера просто снова открывается.

Iтакже пытался отключить режим редактирования изображения после съемки камеры, но это не помогло.

Кто-нибудь может мне помочь, почему это происходит?

Вот код, который я использую:

-(void)startCamera
{
    picker = [[UIImagePickerController alloc] init];
    picker.allowsEditing = YES;
    picker.delegate = self;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.showsCameraControls = YES;
    [self presentModalViewController: picker animated: YES];
[picker release];
}

// IOS 4   
//- (void) imagePickerController: (UIImagePickerController*) pickerController didFinishPickingMediaWithInfo: (NSDictionary*) info  

// IOS 3  

- (void)imagePickerController:(UIImagePickerController *)pickerView didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    btnCamera.enabled = YES;
    hasTakenImage = YES;
    btnRetake.hidden = NO;
    btnUpload.hidden = NO;
//    imgItem.image = [info objectForKey: UIImagePickerControllerOriginalImage];
    imgItem.image = image;
    // ADD: dismiss the controller (NB dismiss from the *reader*!)
    [pickerView dismissModalViewControllerAnimated: YES];
    [self dismissModalViewControllerAnimated: YES];
}

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 23 ноября 2013

Попробуйте удалить [picker release]; из -(void)startCamera ..

0 голосов
/ 28 апреля 2011

Я надеюсь, что вы делаете

@interface  CameraOverlay1 : UIViewController < UIImagePickerControllerDelegate,UINavigationControllerDelegate>

в вашем заголовочном файле ....

...