当前位置:  开发笔记 > IOS > 正文

如何启用UITextView来接收粘贴的图像

如何解决《如何启用UITextView来接收粘贴的图像》经验,为你挑选了1个好方法。

我需要支持将图像粘贴到一个UITextView.将图像复制到剪贴板后,Paste似乎没有弹出" "选项.当剪贴板上有文本时它会这样做.

这是如何覆盖paste自定义中的选项UITextView.但是我需要帮助才能让选项显示出来......

// This gets called when user presses menu "Paste" option
- (void)paste:(id)sender{

    UIImage *image = [UIPasteboard generalPasteboard].image;

    if (image) {
        NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
        textAttachment.image = image;
        NSAttributedString *imageString = [NSAttributedString attributedStringWithAttachment:textAttachment];
        self.attributedText = imageString;
    } else {
        // Call the normal paste action
        [super paste:sender];
    }
}

我遇到了一些相关的问题,但对于像我这样缺乏经验的开发人员来说,它们没有帮助: 如何让UIMenuController为自定义视图工作?,如何在UITextView上粘贴来自粘贴板的图像?



1> Matt Koala..:

我回答了自己的问题.你所要做的就是通过覆盖这个UITextView方法让UITextView说"我可以接收粘贴的图像":

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(paste:) && [UIPasteboard generalPasteboard].image)
        return YES;
    else
        return [super canPerformAction:action withSender:sender];
}

别客气.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有