【问题标题】:Pasting image in sms through UIPasteBoard通过 UIPasteBoard 在短信中粘贴图像
【发布时间】:2011-04-14 12:56:25
【问题描述】:

我正在尝试将我的应用中的一些图像粘贴到 SMS 中。

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSString *imagefile = [[NSBundle mainBundle] 
                       pathForResource:@"imagename"]
                       ofType:@"png"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:imagefile];

if (fileExists){    
    UIImage *ui = [[UIImage alloc] initWithContentsOfFile:imagefile];
    pasteboard.image = ui;
    [ui release];
}

在调试模式下,我发现该图像确实存在,并且它确实进入了粘贴板(我检查了它我引入了一个带有粘贴板图像的图像视图,这是必要的)。

保存到剪贴板后,我调用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];

它确实会弹出,但是当我点击那里的“文本字段”时,没有显示粘贴按钮。 有人可以指出我的错误吗? 或者这样做有意义吗?我的意思是,是否可以通过默认 iPhone 消息应用发送图像?

【问题讨论】:

  • 抱歉,兄弟跑题了……但告诉我一件事……可以在短信中粘贴“任何图像”吗?因为你必须在解码端有相同的软件。我的意思是在接收端..对吗??
  • 我认为这很有趣:我确信 100% 几天前,当我刚刚实施此选项时,它确实有效。弹出默认的 iPhone 消息应用程序后,我正在粘贴图像,它就像一个灰色的框架。我看到它正在工作并且我正在开发其他东西,现在,在测试时,我发现它不起作用。我不确定,我会稍微编辑一下我的 Q。
  • 对不起 Dumoko...但我只是在研究这件事...但我发现...当您收到消息时,您需要解码字符并显示相应的该角色的图像。例如,如果您收到消息 :-) 它是 ':'、'-' 和 ')',然后显示笑脸图像......对于不同的消息,类似的不同情绪。您需要维护该字符集的字符集和相应图像的列表......所以如果接收者端的人没有像你这样的应用程序,那怎么可能......我认为在另一端无法解码...

标签: iphone objective-c ios uiimage uipasteboard


【解决方案1】:

只有当粘贴板包含您点击的当前对象(此处为文本字段)支持的项目时,才会显示“粘贴”操作。您似乎只将图像添加到粘贴板。文本字段不支持图像。所以“粘贴”动作不会出现。

【讨论】:

    【解决方案2】:

    我有这个工作。我只是使用 setData 为其提供原始数据,然后使用 forPasteboardType 设置数据类型。就在你的下方

        if (fileExists){
    

    试试这个

        NSData *data = [NSData dataWithContentsOfFile:imagefile];
        [pasteboard setData:data forPasteboardType:@"public.png"];            
    

    您可以查找不同的 PasteboardType UTI here.

    【讨论】:

      【解决方案3】:

      这段代码运行良好:

      UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"imageName"]];
      [[UIPasteboard generalPasteboard] setImage:image];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-28
        相关资源
        最近更新 更多