UIImagePickerController, выход из приложения при нажатии кнопки отмены в правой верхней части экрана фотоальбома при выборе изображения - PullRequest
1 голос
/ 29 марта 2011

UIImagePickerController, выход из приложения при нажатии кнопки отмены в правой верхней части экрана фотоальбома при выборе изображения.

-(void) getImageAction:(id) sender 
{
    imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.delegate = self;
    if([sender tag] == 0) 
    {

         if (![[UIDevice currentDevice].model isEqualToString:@"iPhone Simulator"] && ![[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"]) {
             imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
         }
         else {
             NSLog(@"Camera Not available in your device");
             return;
         }
    } 
    else 
    {
        imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    }

    [self presentModalViewController:imagePickerController animated:YES];

}

#pragma mark -
#pragma mark UIImagePickerControllerDelegate

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    NSLog(@"image picker method called");
    // Dismiss the image selection, hide the picker and show the image view with the picked image
    [imagePickerController dismissModalViewControllerAnimated:YES];
    //imagePickerController.view.hidden = YES;


    CGRect frame = CGRectMake(40, 5, 200, 200);
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
    imageView.image = image;
    imageView.hidden = NO;
    [self.view addSubview: imageView];
    [self.view addSubview: messageText];
    [self.view addSubview: sendGreet];
    [fromGallery removeFromSuperview];
    [fromCamera removeFromSuperview];

}

1 Ответ

0 голосов
/ 30 марта 2011

Я, ваш метод -(void) getImageAction:(id) sender добавить [imagePickerController release]; в конце. Когда бы вы ни использовали presentModalViewController, вы должны отпустить контроллер, к которому вы переходите.

Обычно происходит сбой приложения при утечке памяти или отправке неизвестного идентификатора в какой-либо метод.

Надеюсь, это работает для вас !!

...