2010-04-03 2 views
0

Я новичок в разработке iphone. Я создал кнопку в представлении. При нажатии кнопки он загружает фотобиблиотеку из Iphone. Теперь я хочу привязать выбранное изображение по почте. Я не знаю, как прикрепить изображение в MFMailComposerView.Как я могу прикрепить изображение iphone через почту в iphone

Как я могу добиться этого,

Вот мой код,

-(IBAction) Pictures:(id)sender 
{ 
    self.imgpicker = [[UIImagePickerController alloc] init]; 
    self.imgpicker.delegate = self; 
    self.imgpicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [self presentModalViewController:self.imgpicker animated:YES]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img1 editingInfo:(NSDictionary *)editInfo { 
    [[picker parentViewController] dismissModalViewControllerAnimated:NO]; 
    UIView *view = [[UIView alloc] init]; (This view for displaying the images) 
    imageview = [[UIImageView alloc] initWithImage:img1]; 
    [imageview setFrame:CGRectMake(0, 0, 320, 420)]; 
    [self.view addSubview:imageview]; 
    [view release]; 

    UIBarButtonItem *rightbutton = [[UIBarButtonItem alloc] initWithTitle:@"Email" style:UIBarButtonItemStyleBordered target:self action:@selector(rightbutton)]; 
    self.navigationItem.rightBarButtonItem = rightbutton; 
    [rightbutton release]; 

    } 

    -(void) rightbutton 
    { 
     [self emailImage:(UIImage *)image];(how to pass the image to mail view) 
    } 

    - (void)emailImage:(UIImage *)image 
    { 
     picker = [[MFMailComposeViewController alloc] init]; 
     picker.mailComposeDelegate = self; 
     [picker setToRecipients:[NSArray arrayWithObjects:@"[email protected]",nil]]; 
     NSData *data = UIImagePNGRepresentation(image); 
     [picker addAttachmentData:data mimeType:@"image/png" fileName:@"iPod Library Image"]; 
     [self presentModalViewController:picker animated:YES]; 
     [picker release]; 
    } 

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

Спасибо.

+1

С первого взгляда, я не вижу ничего плохого в коде (у меня есть приложение, которое использует UIImagePNGRepresenation так же, как и вы). Что именно происходит неправильно? –

+0

Как отправить изображение из метода didFinishPickingImage в метод rightbutton. так что я могу передать изображение на почту. – Pugal

ответ

1

Возможно, вы должны настроить переменную экземпляра UIImage в своем классе контроллера (imageThatWasPicked или тому подобное), а затем установить эту переменную экземпляра, когда вы получите изображение с -imagePickerController:didFinishPickingImage:editingInfo:. Затем вы можете обратиться к этой переменной экземпляра при вызове -emailImage:.

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