Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 通过UIPasteBoard在短信中粘贴图像_Iphone_Objective C_Ios_Uiimage_Uipasteboard - Fatal编程技术网

Iphone 通过UIPasteBoard在短信中粘贴图像

Iphone 通过UIPasteBoard在短信中粘贴图像,iphone,objective-c,ios,uiimage,uipasteboard,Iphone,Objective C,Ios,Uiimage,Uipasteboard,我想做的是把我的应用程序中的一些图片粘贴到短信中 UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; NSString *imagefile = [[NSBundle mainBundle] pathForResource:@"imagename"] ofType:@"png"]; BOOL fileExists = [[NSFile

我想做的是把我的应用程序中的一些图片粘贴到短信中

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];
}
在调试模式下,我发现图像确实存在,并且它确实转到了粘贴板(我检查了它,并使用粘贴板中的图像引入了imageview,这是必需的)

保存到剪贴板后,我调用

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];
它会弹出,但当我点击“文本字段”时,不会显示粘贴按钮。 有人能指出我的错误吗?
这样做有意义吗?我的意思是,是否可以通过默认的iPhone消息应用发送图像?

只有当粘贴板包含您点击的当前对象(此处为文本字段)的支持项时,才会显示“粘贴”操作。看起来您只是在向粘贴板添加图像。文本字段不支持图像。所以“粘贴”操作不会出现。

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

    if (fileExists){
试试这个

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

您可以查找不同的粘贴板类型UTI

此代码工作正常:

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

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