iOS programming in 2010

Jak wysłać email z utworzonym obrazkiem lub widokiem?

Posted: October 4th, 2010 | Author: | Filed under: Xcode solutions | Comments Off on Jak wysłać email z utworzonym obrazkiem lub widokiem?

Bardzo często chcemy zachować efekt pracy naszego programu i umożliwić użytkownikowi wysłanie obrazu jako e-mail lub publikacje na portalach społecznościowych. Wbrew pozorom to znacznie łatwiejsza operacja niż się wydaje. Programiści Apple postarali się i można w łatwy sposób zapisać wybrany widok (UIView) jako obraz, a następnie dołączyć go do wiadomości e-mail.
Poniżej gotowy kod, który wystarczy podpiąć do własnego przycisku lub zdarzenia. Należy oczywiście wskazać odpowiedni widok, który chcemy zachować jako obraz.

- (IBAction) email
{

if ([MFMailComposeViewController canSendMail]) {
// TWORZYMY WIADOMOŚĆ
MFMailComposeViewController *mailViewcontroller = [[MFMailComposeViewController alloc] init];
mailViewcontroller.mailComposeDelegate = self;
[mailViewcontroller setSubject:@"Tutaj wstawiamy temat naszej wiadomości"];
[mailViewcontroller setMessageBody:@"To jest treść naszej wiadomości. Może być HTML. Przyk…ad ze strony https://iphone.orpi.pl" isHTML:NO];

// TWORZYMY OBRAZ Z WIDOKU myGraph JEST NAZWÄ„ NASZEGO WIDOKU
UIGraphicsBeginImageContext(myGraph.frame.size);
[myGraph.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// DOŁĄCZAMY OBRAZEK DO WIADOMOŚCI
NSData *myData = UIImagePNGRepresentation(screenshot);
[mailViewcontroller addAttachmentData:myData mimeType:@"image/png" fileName:@"jakasnazwa"];

// WYÅšWIETLAMY MODALNE OKNO WIADOMOÅšCI EMAIL
[self presentModalViewController:mailViewcontroller animated:YES];
[mailViewcontroller release];
}
else {
NSLog(@"urządzenie nie może obecnie wysłać wiadomości.");
}

}


Comments are closed.