Добавить фотографию в MFMailComposeViewDelegate (Xcode 4.2, iOS 5, ARC, LLDB, раскадровка, универсальное приложение) - PullRequest
1 голос
/ 28 января 2012

Я искал в интернете и в стеке и не совсем нашел правильный ответ для своих условий. (Xcode 4.2, iOS 5, ARC, LLDB, раскадровка, универсальное приложение)

В поисках метода, позволяющего пользователям выбрать фотографию для добавления в электронное письмо.

Я хочу, чтобы это было ненавязчивым, и добавил в MFMailComposeViewController кнопку, позволяющую пользователям добавлять фотографии из своей библиотеки фотографий или делать фотографии с помощью камеры.

Я пытался использовать кнопку viewController с UIImpagePicker и Camera on view controller, который добавлял изображение в UIImageView с помощью отдельной кнопки функции почты, но это было излишним и загромождало приложение излишне, я также не смог разобраться в коде вставить выбранное фото в электронное письмо.

Моя электронная почта inapp работает отлично, вот код

.h

#import <MessageUI/MessageUI>
<MFMailComposeViewControllerDelegate>

.m

- (IBAction)Email:(id)sender 
{
    if ([MFMailComposeViewController canSendMail]) {
        MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];        
        mail.mailComposeDelegate = self;

        [mail setSubject:@"Feedback"];

        NSArray *toRecipients = [NSArray arrayWithObjects:@"feedback", nil];
        [mail setToRecipients:toRecipients];

        NSString *emailBody = @"-Your Message Here-";
        [mail setMessageBody:emailBody isHTML:NO];

        mail.modalPresentationStyle = UIModalPresentationPageSheet;

        [self presentModalViewController:mail animated:YES];

    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error:" 
                                                        message:@"E-mail is not supported on your device."
                                                       delegate:nil 
                                              cancelButtonTitle:@"Cancel"
                                              otherButtonTitles:nil];
        [alert show];
    }
}

Ответы [ 2 ]

1 голос
/ 28 января 2012

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

Вопрос не в том, как его кодировать, а в том, как разработать пользовательский интерфейс. Может быть, вы могли бы сделать это немного, как приложение Twitter обрабатывает различные вложения и дополнительную информацию.

Fabian

0 голосов
/ 27 июня 2012

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

должно быть как:

NSString * path = [[NSBundle mainBundle] pathForResource: @ "arrest" ofType: @ "png"]; NSData * myData = [NSData dataWithContentsOfFile: path]; [picker addAttachmentData: myData mimeType: @ "image / png" fileName: @ "арест"];

...