Итак, код для копирования части моего экрана на монтажный стол работает, потому что он успешно копировал его в мой фотоальбом. Но я хочу иметь возможность вставить частичный снимок экрана в новое SMS-сообщение. Я знаю, что это нужно будет сделать вручную (долго удерживать сообщение и вставить), но он либо ничего не вставил, либо не имеет опции «Вставить» (поскольку он сохраняет его как строку). Средняя часть кода - это часть, с которой я борюсь. Любая помощь будет здорово. Я изменил forPasteboardType на «изображение», но это тоже не работает.
//Capture part of Screen Shot
UIGraphicsBeginImageContext(self.view.bounds.size);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(c, 0, 98); //
[self.view.layer renderInContext:c];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//Send Screenshot to Pasteboard
UIPasteboard *pasteBoard = [UIPasteboard pasteboardWithName:UIPasteboardNameGeneral create:YES];
pasteBoard.persistent = YES;
NSData *data = UIImagePNGRepresentation(viewImage);
[pasteBoard setData:data forPasteboardType:(NSString *)kUTTypePNG];
/////// Open SMS
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"Hello from me, paste image here -->";
controller.recipients = [NSArray arrayWithObjects:@"123456789", nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
}
////// End SMS
}