1

したがって、画面の一部をペーストボードにコピーするコードは、写真アルバムに正常にコピーされたため機能します。しかし、部分的なスクリーンショットを新しい SMS メッセージに貼り付けられるようにしたいと考えています。手動で行う必要があることはわかっていますが(メッセージを長押しして貼り付けます)、何も貼り付けていないか、貼り付けオプションがありません(文字列として保存しているため)。コードの中間部分は、私が苦労している部分です。どんな助けでも素晴らしいでしょう。forPasteboardType を「image」に変更しましたが、それも機能しません。

    //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
}
4

1 に答える 1

1
//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];     

NSString *stringURL = @"sms:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
于 2013-03-18T15:55:19.453 に答える