Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.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
Ios 将图像粘贴到UITextView会导致崩溃_Ios_Crash_Uitextview_Copy Paste_Paste - Fatal编程技术网

Ios 将图像粘贴到UITextView会导致崩溃

Ios 将图像粘贴到UITextView会导致崩溃,ios,crash,uitextview,copy-paste,paste,Ios,Crash,Uitextview,Copy Paste,Paste,有人能告诉我如何避免将图像粘贴到UITextView中导致崩溃吗 我的应用程序中有UITextView,它允许对属性文本进行一些基本编辑(iOS 6)。用户发现,他们可以从网页复制文本和图像的组合,然后切换到我的应用程序,并使用UITextView菜单>粘贴命令,这将使应用程序崩溃。我可以复制它,但我不知道该怎么办。崩溃日志如下所示: *** Assertion failure in -[NSHTMLReader _addAttachmentForElement:URL:needsParagra

有人能告诉我如何避免将图像粘贴到UITextView中导致崩溃吗

我的应用程序中有UITextView,它允许对属性文本进行一些基本编辑(iOS 6)。用户发现,他们可以从网页复制文本和图像的组合,然后切换到我的应用程序,并使用UITextView菜单>粘贴命令,这将使应用程序崩溃。我可以复制它,但我不知道该怎么办。崩溃日志如下所示:

*** Assertion failure in -[NSHTMLReader _addAttachmentForElement:URL:needsParagraph:usePlaceholder:], /SourceCache/UIFoundation_Sim/UIFoundation-78/UIFoundation/TextSystem/NSHTMLReader.m:1478
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unable to find missing_image.tiff!'

我无法阻止用户在其他应用程序中使用“复制”命令时选择图像。我也不想禁止在我的应用程序中粘贴。这是一个可怕的黑客行为,但我确实找到了避免崩溃的方法。简言之,我已将UITextView子类化以覆盖粘贴命令,并将粘贴板转换为插入UITextView的字符串

- (void)paste:(id)sender {    
    UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
    NSString *string = pasteBoard.string;
    NSLog(@"Pasteboard string: %@", string);
//  [pasteBoard setValue:@"Please work you miserable bastard!" forPasteboardType:(NSString *)kUTTypeUTF8PlainText];
//  [super paste:sender]; // Doesn't work for unknown reason.
    [self insertText:string];
}

我们有更好的建议……

看起来不像是一个可怕的黑客。如果你的应用程序支持的话,我认为将粘贴板转换为纯文本是非常合适的。我之所以投票,主要是因为被注释掉的部分!不起作用,请检查我对类似问题的回答: